к оглавлению   к 3GL   к визуальным средам - 4GL   к архитектуре DB-интерфейсов   к технологии программирования

Языки программирования

Языки программирования высокого уровня

Язык программирования высокого уровня достаточно полно описывается совокупностью следующих особенностей:

5.1. Обзор языков, принадлежащих к семействам

Родственные связи между языками мы можем проследить, определяя их принадлежность к некоторому семейству. Во многих случаях можно указать родословное дерево языков, четко определяя последовательность языков, генетически" оказавших влияние друг на друга.

5.1.1. Семейство универсальных языков

Большинство языков этого семейства было создано в 60-е годы XX века (рис. 4.30).

Они характеризуются:

5.1.2. Семейство уникальных языков

Уникальные языки характеризуются некоторой определенной чертой, "изюминкой", выделяющей их среди других языков. Практически все из них (рис. 4.31) остались в определенном смысле неповторимыми.

Большинство этих языков поддерживают императивную методологию. Их более поздние диалекты иногда обогащались методами поздних по возникновению методологий. Одновременно закономерным и все-таки неожиданным стало появление в конце 80-х годов XX века диалекта Object-Oriented Cobol.

Ряд языков из этого семейства можно охарактеризовать, как языки с одним типом данных.

Дадим краткую характеристику некоторым языкам.

5.1.3. Семейство языков параллельного программирования

Семейство представляет собой множество параллельных языков программирования, частично обсуждавшихся в разд. 2.4.1 и 2.4.2. Параллельные языки различаются:

5.1.4. С-семейство языков

for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Майк Тэйлор

Языки этого семейства (рис. 4.32) содержат в себе, как подмножество, языковые конструкции языка С. Дополнение языка С объектно-ориентированными конструкциями дало язык C++, а обрезание некоторых опасных, с точки зрения программирования, конструкций языка С у языка C++ привело к появлению языка Java. Отметим, что многие концепции, присутствующие в Java (как в языке, так и окружении), заимствованы авторами Java из проекта Oberon Никлауса Вирта.

5.1.5. Pascal-семейство языков

Это семейство (рис. 4.33) можно также назвать семейством Никлауса Вирта, знаменитого швейцарского профессора. Вирта часто называют "отцом структурных языков". Однако именно ему удалось создать истинно объектно-ориентированный язык программирования - Oberon, способный обеспечить безопасность типов.

5.1.6. Ada-семейство языков

Ada - многофункциональный, мощный, универсальный язык. Первый его вариант создавался в период с 1979 по 1983 годы (рис. 4.34). Это один из немногочисленных языков, созданных "на заказ", причем заказчиком выступало министерство обороны США.

5.1.7. Simula-семейство языков

Язык Simula получил широкое применение для решения задач имитационного моделирования. Языки этого семейства (рис. 4.35) воплощают концепцию языка-ядра. Эта особенность позволяет сравнительно просто вводить расширения языка, ориентированные на конкретные области применения. Язык Simula считается основателем, a Smalltalk - классическим представителем объектно-ориентированных языков. Язык BETA интересен тем, что он комбинирует абстракции данных, управления и процедур в одну исчерпывающую абстракцию. Объекты этого языка (порождаемые паттернами) могут рассматриваться как переменные, структуры данных, процедуры, функции, параллельные системы.

5.1.8. Lisp-семейство языков

Это семейство (рис. 4.36) близко к языкам функционального программирования, уже рассмотренным в разд. 2.2.3.

5.1.9. Prolog-семейство языков

Это семейство (рис. 4.37) близко к языкам логического программирования, уже рассмотренным в разд. 2.2.4.

5.2. Обзор языков, ориентированных на предметную область

Создание языка, более или менее специализированного к предметной области - крупное достижение. Создавая такие языки, авторы должны долгое время продумывать - как наилучшим образом решать проблемы, исследовать их, смотреть на них с различных точек зрения. Предметных областей достаточно много и не все из них имеют специализированные языки.

Программы, которые написаны на языках, ориентированных на предметную область, имеют следующие преимущества:

Далее мы выделим несколько областей и укажем языки, ориентированные для них.

5.2.1. Языки форматирования текстов

Предметная область - издательские системы, системы подготовки научных публикаций с большим количеством формул. Языки форматирования:

5.2.2. Языки разметки

Предметная область - универсальные форматы представления структурированных данных. Язык разметки SGML (Standard Generalized Markup Language - стандартный обобщенный язык разметки) представляет собой набор правил и шаблонов для описания содержания, структуры и формата любых электронных документов, независимо от конечного способа их представления. На основе данного языка разработан ряд специализированных языков, в том числе:

5.2.3. Языки скриптов

Предметная область - разработка командных пакетных файлов для командных интерпретаторов.

Языки скриптов:

Существенным подмножеством данной области языков являются языки скриптов операционных систем. Они предназначены для создания командных пакетных файлов на основе команд операционных систем. Примерами могут служить sh, bash, csh, ksh - языки сценариев и скриптов операционной системы Unix.

5.2.4. Промежуточные языки программирования

Многие языковые трансляторы (см. разд. 5.2.4.2) используют промежуточные языки программирования, являющиеся императивными. Промежуточные языки играют важную роль в переносимости, стоимости и эффективности трансляторов. Существуют два основных способа становления языка в качестве промежуточного [Handbook 1998].

О промежуточном языке для семейства операционных систем
Идея промежуточных языков была перенесена из области разработки трансляторов в область разработки операционных систем. Для семейства операционных систем разрабатывается промежуточный объектный код. Он обеспечивает переносимость (мобильность) программ на уровне объектного кода.

5.2.5. Языки программирования агентов

Предметная область - многоагентные системы. Агенты - сущности, находящиеся в некоторой среде, от которой они получают данные, отражают события, происходящие в среде, интерпретируют их и исполняют команды, воздействующие на среду. Языки программирования агентов:

5.2.6. Языки создания графики

Предметная область - подготовка визуальной графической информации. Языки создания графики:

5.2.7. Языки описания аппаратуры

Предметная область - описание аппаратуры микросхем. Языки описания аппаратуры:

5.2.8. Языки описания виртуальной реальности

Предметная область - создание трехмерных изображений, так называемых виртуальных миров, в которых пользователь может перемещаться и взаимодействовать с объектами. Языки позволяют определить среду действия персонажей компьютерных игр. Языки описания виртуальной реальности:

5.2.9. Языки конфигурирования

Предметная область - совокупность управляющей информации некоторой системы и процесс адаптации системы для работы в определенных рамках, налагаемых внешним окружением и пользователем. Языки конфигурирования:

к оглавлению   к 3GL   к визуальным средам - 4GL   к архитектуре DB-интерфейсов   к технологии программирования

Знаете ли Вы, что диаграмма последовательности, Sequence diagram - это методология объектно-ориентированного проектирования, предназначенная для моделирования взаимодействия во времени. Диаграмма последовательности позволяет отслеживать поведение взаимодействующих групп объектов.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution