Учебное пособие по дисциплине Разработка языков программирования высокого уровня
Скачать 1.74 Mb.
|
1.3 Характеристики основных языковНа развитие языков программирования высокого уровня оказывают влияние несколько факторов. Во-первых, архитектура вычислительной машины, во-вторых, методологии программирования. При этом под методологией (греч. «учение о методах») будем понимать систему принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе. В этой связи следует упомянуть о трёх методологических системах, которые являются базовыми факторами, повлиявшими и на состав языковых средств, и на технологию программирования Структурное (процедурное программирование). Информационно-ориентированное программирование. Объектно-ориентированное программирование. Третьим фактором является сложность и масштабность задач, необходимость реализации которых возникает в практической жизни. На рис 1.1 приведена схема [1], отражающая хронологию и влияние языков друг на друга. Ниже даётся краткая характеристика основных языковых групп, которые внесли наибольший вклад в разработку систем программирования. Рисунок 1.1 Генеалогия распространённых языков программирования Группа языков FORTRAN Для первых версий языка FORTRAN (1955 г.) характерно: Длина идентификаторов менее 6 символов Отсутствие операторов описания типов данных: типы данных присваивались по умолчанию (переменные, имена которых начинаются с букв i, j, k, l, m, n – всегда целого типа, все остальные – вещественного); Наличие только арифметического оператора условного перехода; Отсутствие раздельной компиляции подпрограмм; Система типов включала только 4 базовых типа данных; Массивы только статические, их размерность не превышала 3; Цикл только типа пересчёта (FOR…); Практически отсутствовала проверка типов данных. В языки FORTRAN-II, FORTRAN-IV были введены следующие возможности: Независимая компиляция подпрограмм; Операторы описания типов; Логический оператор IF…THEN; Оператор описания общих областей COMMON; Оператор EQUIVALENCE, который определял единую память для нескольких переменных; Довольно большая встроенная библиотека математических функций. В язык FORTRAN-77 введены: Символьные строки Логический оператор условного перехода IF…THEN…ELSE; Циклы с условием (WHILE…). В языке FORTRAN-90 реализованы: Динамические массивы; Указатели; Структурные типы данных; Операторы CASE, CYCLE (переход на «голову цикла» без выхода из него); Поддержка объектно-ориентированного программирования; Реализована обширная встроенная математическая библиотека. Группа алголоподобных языков Версия языка ALGOL 1958 г. по сравнению с первой версией FORTRAN уже обладала: Операторами описания типов данных; Составными операторами; Вложенными операторами условного перехода логического типа if…then…else; Массивами любой размерности. В язык ALGOL-60 были введены: Блочная структура программы: begin var a,b,c; … end; Передача параметров в подпрограммы, как по значению, так и по ссылке; Рекурсивные подпрограммы; Автоматические массивы. Язык ALGOL-68 пополнился: Динамическими массивами; Указателями; Некоторыми типами, определяемыми пользователем; Оператором многовариантного ветвления switch. Наследниками семейства языков ALGOL являются: язык Pascal, обладающий такими качествами как простота, выразительность, надёжность; его объектно-ориентированный вариант Delphi; машинно-независимый язык C и его потомки C++, Java, C#, поддерживающие абстрактные типы данных в ООП. Язык Ada (1983 г.) является продуктом мирового проекта разработки языков программирования. Он создавался с целью стать универсальным стандартом, взамен сотни других языков, используемых в разных проектах. Язык Ada воплощает большинство концепций, существовавших на конец 1970-х годов, включая: Пакеты как средство поддержки абстрактных типов данных; Настраиваемые подпрограммы (подпрограммы, типы параметров которых заранее не определены, поэтому одной подпрограммой можно обрабатывать данные различных типов); Наличие обширных средств обработки исключительных ситуаций; Возможность параллельного выполнения процессов, оформленных в виде специальных блоков (заданий), на базе механизма рандеву; Ada-95 характеризуется: Средствами разработки графического интерфейса пользователя; Поддержкой ООП; Наличием обширных библиотек; Усовершенствованием механизмов параллельной обработки данных посредством инкапсулированного задания. |