Таблица. Особенности и применение языков  программирования

Время возникн. Класс Особенности Применение Примеры языков
Преимущества Недостатки
20-40-е годы XX столетия

Неструктурные языки

- оптимизация под аппаратную архитектуру;

- обеспечивали высокую эффективность вычислений;

-программа, которая была вполне работоспособной на одной вычислительной машине, зачастую не могла выполняться на другой;

 

-численные расчеты (математические и физические)

-прямые команды процессору

Ассемблер
50-е годы Директивные языки - повторное использование ранее написанных программных блоков;

- зависимость реализации от аппаратного обеспечения существенно уменьшилась;

-повышении эффективности труда разработчиков за счет абстрагирования от конкретных деталей аппаратного обеспечения

- снижение эффективности реализации на прежнем аппаратном обеспечении;

- некоторая потеря в скорости вычислений;

-написание операционных систем, разработка приложений, обучение, научные расчеты Fortran

APL

Pascal, Basic.

60-е годы Декларативные языки

-программа представляет собой не набор команд, а описание действий, которые необходимо осуществить.

-доказательство теорем

-возможность обработки разнородных данных (например, упорядочение элементов списка по возрастанию для целых чисел, отдельных символов и строк) или полиморфизм.

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

-высокая степень абстракции

- снижение скорости работы программ.
  а) Функциональные - любая программа, написанная на таком языке, может интерпретироваться как функция с одним или несколькими аргументами -обработки рекурсивных структур данных

-символьной обработки.

ML

Haskell

- автоматизированное динамическое распределение памяти компьютера для хранения данных

- при создании программ на функциональных языках программист сосредотачивается на области исследований (предметной области) и в меньшей степени заботится о рутинных операциях (обеспечении правильного с точки зрения компьютера представления данных, «сборке мусора» и т.д.).

- нелинейная структура программы

- относительно невысокую эффективность реализации

  б) Логические - программа представляет собой совокупность правил или логических высказываний. Кроме того, в программе допустимы логические причинно-следственные связи, в частности, на основе операции импликации. -искусственный интеллект, экспертные системы;
системы ориентированные на поддержку бизнеса.

-для систем логического вывода

Prolog
- достаточно высокий уровень машинной независимости,

- возможность откатов – возвращения к предыдущей подцели при отрицательном результате анализа одного из вариантов в процессе поиска решения (скажем, очередного хода при игре в шахматы), что избавляет от необходимости поиска решения путем полного перебора вариантов и увеличивает эффективность реализации.

-специфичность класса решаемых задач.

- сложность эффективной реализации для принятия решений в реальном времени, скажем, для систем жизнеобеспечения.

 

  Объектно-ориентированные языки -программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов) -разработка программных приложений и др. С ++

Visual Basic

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

- поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие в предметной области

- использование ранее разработанных (возможно, другими коллективами программистов) библиотек объектов и методов позволяет значительно сэкономить трудозатраты при производстве программного обеспечения, в особенности типичного.

- объекты, классы и методы могут быть полиморфными, что делает реализованное программное обеспечение более гибким и универсальным.

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

 

  Языки сценариев - программа представляет собой совокупность возможных сценариев обработки данных, выбор которых инициируется наступлением того или иного события -Интернет технологии VBScript

JavaScript

-основные достоинства языков данного класса унаследованы от объектно-ориентированных языков программирования

-существенным преимуществом языков сценариев является их совместимость с передовыми инструментальными средствами автоматизированного проектирования и быстрой реализации программного обеспечения, или так называемыми CASE- (Computer-Aided Software Engineering) и RAD- (Rapid Application Development) средствами

-сложность тестирования и верификации программ и возможности возникновения в ходе эксплуатации множественных побочных эффектов, проявляющихся за счет сложной природы взаимодействия объектов и среды, представленной интерфейсами с большим количеством одновременно работающих пользователей программного обеспечения, операционной системой и внешними источниками данных
Hosted by uCoz