- •Министерство образования и науки Российской Федерации
- •Определение
- •Стандартизация языков программирования
- •Типы данных
- •Структуры данных
- •Семантика языков программирования
- •Парадигма программирования
- •Способы реализации языков
- •Используемые символы
- •Языки программирования
- •Основные понятия и определения Языки и знаки
- •Модель передачи сообщений
- •Языковые знаковые системы
- •Об универсальном языке
- •Формализация языка
- •Языки моделирования
- •Языки программирования и интегрированные среды
- •Языки программирования высокого уровня
- •История и эволюция
- •История и эволюция языков моделирования
- •История и эволюция языков программирования
- •1.3. Классификация языков
- •1.3.1. Классификация языков моделирования
- •1.3.2. Классификации языков программирования
- •1.4. Проблемы и перспективы развития
- •1.5. Рекомендации по литературе
История и эволюция
Покрывало алтаря в одной эпохе - это коврик для ног в следующей. М. Твен
История и эволюция языков моделирования
Принято выделять всего два поколения языков моделирования.
Первое поколение: Языки структурного системного анализа и проектирования. Появились в середине 70-х годов XX века.
Второе поколение: Объектно-ориентированные языки моделирования. Первые языки появились в конце 70-х годов XX века, однако их массовое появление и развитие приходится на начало 90-х годов этого века.
Укажем некоторые важные даты, связанные с языками моделирования.
1976 г. - Ченом разработана диаграмма сущность-связь.
1995 г. - Консорциум OMG признает целесообразность поиска индустриальных стандартов в области языков моделирования.
1996 г. - Появление первых документов, содержащих описание языка UML.
1997 г. - Публикация документа с описанием языка UML версии 1.0.
История и эволюция языков программирования
К сегодняшнему дню насчитывают шесть поколений языков программирования. Каждое из последующих поколений по своей функциональной мощности качественно отличается от предыдущего.
Первое поколение: Машинные языки. Появились в середине 40-х годов XX века.
Второе поколение: Ассемблеры. Фактически это те же машинные языки, но более красиво "обернутые". Появились в конце 50-х годов XX века
Третье поколение: Процедурные языки. Появились в начале 60-х годов XX века. К этому поколению относят универсальные языки высокого уровня, с помощью которых можно решать задачи из любых областей (например, Algol-60).
Четвертое поколение: Языки поддержки сложных структур данных (например, SQL). Появились в конце 60-х годов XX века.
Пятое поколение: Языки искусственного интеллекта (например, Prolog). Появились в начале 70-х годов XX века.
Шестое поколение: Языки нейронных сетей (самообучающиеся языки). Исследовательские работы в этой области начались в середине 80-х годов XX века.
Даты создания многих языков программирования будут указаны в разд. 4.5. Здесь мы приведем лишь языки, которые считаются первыми: '
1945 г. - Конрадом Цузе (Conrad Zuse) разработан первый язык программирования Plankalkuel;
1949 г. - разработанный Джоном Мочли (John Mauchly) язык Short Code американцы считают первым языком программирования высокого уровня.
1.3. Классификация языков
1.3.1. Классификация языков моделирования
Языки моделирования могут быть разделены на три группы.
Языки описания архитектур (Architecture Description Language) - языки, предоставляющие средства для моделирования концептуальной программной архитектуры. Их также называют языками проектирования "в большом". Основными элементами таких языков, как правило, являются:
компоненты, для которых могут быть определены поддерживаемые ими интерфейсы (порты);
соединители, реализующие протоколы взаимодействия компонентов и также поддерживающие определенные интерфейсы (роли);
архитектурные конфигурации, которые являются композицией компонентов и соединителей и могут быть представлены в виде иерархической структуры;
ограничения на композицию компонентов и соединителей в рамках архитектурных конфигураций.
Языки проектирования модулей (языки проектирования "в малом").
Языки спецификаций.
Отдельно следует выделить еще две группы языков моделирования, имеющих большое значение для многих областей программирования.
Языки моделирования данных (см. разд. 4.4.3).
Языки моделирования знаний (см. разд. 4.4.4).
Эти две группы являются вспомогательными языками с точки зрения первых трех групп. Например, некоторый язык моделирования данных может быть составной частью некоторого языка спецификаций.