Уровни языков программирования
Языки программирования
1. Понятие языка программирования
2. Уровни языков программирования
3. Поколения и классификация языков программирования
4. Обзор языков программирования высокого уровня
5. Языки программирования баз данных
6. Языки программирования для Интернета
7. Языки моделирования
8. Прочие языки программирования
9. Понятие системы программирования
Понятие языка программирования
Реализация составленного алгоритма на ЭВМ требует составления программы. Средством для этого является язык программирования. Язык программирования - это язык, на котором записывается последовательность шагов выполнения алгоритма для решения задачи на ЭВМ. Любой язык программирования должен обладать двумя свойствами:
- его возможностей должно быть достаточно для того, чтобы пользователь смог описать решаемую задачу;
- в ЯП должно быть определено на какого пользователя он рассчитан.
Элементы языков программирования могут рассматриваться на следующих уровнях:
алфавит — это конечный набор основных символов, используемых для записи строк программы (операторы, команды, ключевые слова, выражения);
синтаксис — это совокупность правил, определяющих последовательность символов при записи строк программы. Синтаксис определяет характер допустимых конструкций языка;
семантика определяет смысловое содержание конструкций, предложений языка, семантический анализ — это проверка смысловой правильности конструкции. Например, если мы в выражении используем переменную, то она должна быть определена ранее по тексту программы. Семантические ошибки возникают при недопустимом использовании операций, массивов, функций, операторов и пр.
Уровни языков программирования
Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности то он называется языком программирования низкого уровня. В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что операторы языка близки машинному коду и ориентированы на конкретные команды процессора.
Языком самого низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками. Однозначное преобразование одной машинной инструкции в одну команду ассемблера называете транслитерацией. Так как наборы инструкций для каждого модели процессора отличаются, конкретной компьютерной архитектуре соответствует свой язык ассемблера, и написанная на нем программа может быть использована только в этой среде.
С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора. С другой стороны, при этом требуется очень хорошо понимать устройств компьютера, затрудняется отладка больших приложений, а результирующая программа не может быть перенесена на компьютер с другим типом процессора. Подобные языки обычно применяют для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями становятся компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам. В некоторых областях, например машинной графике, на языке ассемблера пишутся библиотеки, эффективно реализующие требующие интенсивных вычислений алгоритмы обработки изображений.
Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускаете гораздо меньше.