Характеристика языков программирования
Язык программирования – это средство описания алгоритма для решения задач на ЭВМ.
Алгоритм, записанный на языке программирования, называется программой.
К средствам языка относятся:
алфавит (символы, цифры и специальные знаки);
правила составления операторов-предложений для описания действий (команд).
Декларативные
Операционные
Объектные
Функциональные
Языки
символического кодирования
Структурные
Визуальные
Логические
Языки низкого уровня.
«Низкий уровень» не означает неразвитый, имеется ввиду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора.
Машинный язык – представляет собой последовательность команд, записанных в двоичных кодах (нулей и единиц).
Для своего облегчения программисты придумали язык, переводящий символические имена в машинные коды. Ведь гораздо, легче запомнить какое-то ключевое слово, чем соответствующий ему двоичный код.
Это так называемые языки символического кодирования. В них используются буквенные и буквенно-цифровые коды. К ним относятся: Ассемблер, Макроассемблер, автокоды.
Достоинство языков низкого уровня: высокая скорость решения задач.
Недостатки: отсутствие наглядности программы, высокий уровень ошибок при написании, следовательно, трудность отладки, необходимость знать структуру компьютера, взаимосвязь блоков, элементов.
Языки высокого уровня.
Языки высокого уровня машинно-независимы, т.к. ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов.
Достоинство: относительная простота написания программы, удобная читаемость, возможность корректировки.
Недостатки: занимают больше памяти, медленнее выполняются, требуется дополнительное время на трансляцию и дополнительная память для транслятора.
Чтобы ЭВМ могла выполнить программу, написанную на любом языке высокого уровня, текст ее нужно перевести на язык машинных команд. Этот процесс называется трансляция.
Трансляция – это процесс перевода программ, написанных на языке высокого уровня на машинный язык.
Используются два режима трансляции: компиляция и интерпретация.
Компилятор преобразует (транслирует) программу в модуль на машинном языке, после этого программа записывается в память компьютера и лишь потом исполняется.
Интерпретатор – это транслятор, производящий пооператорную (покомандную) обработку и выполнение исходной программы.
1. Процедурное программирование.
Программа на процедурном языке состоит из последовательности команд, определяющих процедуру решения задачи. Выполнение программы сводится к последовательному выполнению операторов.
Среди процедурных языков выделяют структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций.
К операционным языкам относятся Фортран, Бейсик.
К структурным языкам относятся: Паскаль, Си, Ада, ПЛ/1.
Дадим краткую характеристику нескольким процедурным языкам.
Фортран (переводчик формул) был создан в 1954-1958 гг. сотрудниками фирмы IBM под руководством Джона Бэкуса. Он использовался для решения научно-технических задач. Это первый язык высокого уровня. Создана большая библиотека программ.
Кобол (общепринятый деловой язык) был создан при поддержке фирмы IBM в 1958-1960 гг. Он ориентирован на решения задач обработки данных и широко используется для решения учетно-экономических и управленческих задач.
Алгол (алгоритмический язык) появился в 1960 г., разработан группой зарубежных специалистов. Обладает большой гибкостью при проектировании программ, более высокая надежность программирования. Он нашел применение не в инженерных, а в научных кругах (прикладная математика, теоретическая и экспериментальная физика). Он лег в основу языков Паскаль, Ада.
Бейсик (многоцелевой язык символических конструкций для начинающих) был разработан профессорами Дартмутского колледжа США Томасом Курцем и Джоном Кемени в 1965 г. для обучения студентов, незнакомых с вычислительной техникой. Он получил самое широкое распространение при работе на ПК в режиме интерактивного диалога. Популярность объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических и экономических задач, а также задач бытового характера, игровых и т.д.
ПЛ/1 (универсальный программно-ориентированный) разработан в 1964 г. в США фирмой IBM для больших ЭВМ. Использовался для научных расчетов, организации больших массивов информации. Это очень мощный, но и очень сложный язык.
Паскаль создал в 1970 г. профессор Никлаус Вирт в Цюрихском политехническом Университете. Свое название получил в честь французского математика и физика 17 века Блеза Паскаля, изобретателя «суммирующей машины». Он создавался как язык для обучения программированию, а с другой – давал возможность эффективно решать самые разнообразные задачи на современных ЭВМ. Это очень простой и компактный язык, его понятия близки к фундаментальным понятиям математики. Особенно широкое распространение языка началось после 1984 г., когда были созданы версии Turbo Pascal.
Ада создан в 1980 г. и назван в память об Аде Лавлейс – дочери английского поэта лорда Байрона, первой программистки в истории вычислительной техники. Он был создан во Франции по заказу американского министерства обороны как универсальный язык программирования. Этот язык унаследовал качества языков Паскаль и АЛГОЛ-68 и дополнительно приобрел многие другие качества : системное программирование, параллельность и т.д. Этот язык очень сложен для изучения.
С (Си) был создан в 1972 г. в лаборатории Bell. Его простое и неброское название связано с тем, что язык не планировался в качестве массового. В данном случае «С» - это просто третья буква английского алфавита. Этот язык был разработан для реализации операционной системы Unix. Язык С приобрел большую популярность среди системных и прикладных программистов. В настоящее время этот язык реализован для большинства компьютерных платформ.