Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
трпо - лекции 2008.doc
Скачиваний:
63
Добавлен:
23.04.2019
Размер:
637 Кб
Скачать

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

Язык программирования (формальное определение) – это определенный способ сопоставления объектам Ri, которые рассматриваются как некоторая первичная реальность, объектов Li, называемых именами Ri и рассматриваемых как нечто вторичное, специально созданное для сопоставления объектам Ri.

По отношению к своему имени Li объект Ri называется его значением. Совокупность всех объектов Li также называется языком.

Язык программирования – это открытое для пополнения множество текстов, записанных с помощью некоторого набора символов – алфавита языка.

Наука, изучающая языковые знаковые символы (семиотика) включает 3 группы правил:

  • синтаксис;

  • семантика;

  • прагматика;

Синтаксис – 1) это правила построения допустимых сообщений (образования текста); 2) это совокупность требований, которым должна удовлетворять любая осмысленная программа; набор правил синтаксиса определяет, какие последовательности символов составляют программу.

Для задания синтаксических правил наиболее часто используют аппарат форм Бэкуса-Наура.

Семантика – правила сопоставления смысла таким сообщениям.

В программировании семантика – это правила, определяющие, какие операции, и в какой последовательности должна исполнить машина, работая по произвольной программе.

Семантика языка программирования в целом задается указанием:

  1. Используемых типов простых значений;

  2. Способов построения составных значений;

  3. Указание операций над простыми и составными значениями (простых действий);

  4. Способов задания сложных действий.

Прагматика – правила, регулирующие использование сообщений (правила сопоставления текстов целям и намерениям тех, от кого они исходят).

В программировании прагматика – это описание принципов, методов и приемов, позволяющих, исходя из постановки задачи, составить программу ее решения.

Основные характеристики языков программирования

  1. Уровень языка

Характеризуется сложностью задач, решаемых с помощью этого языка. Языки специализированных областей. Чем более точно, тем выше уровень.

  1. Мощность языка

Характеризуется количеством и многообразием задач, алгоритм решения которых позволяет записать язык.

  1. Концептуальная целостность.

Характеризуется свойствами совокупности понятий, служащих для описания этого языка (единообразие понятий, экономия понятий и др.)

Другими характеристиками языка программирования являются:

  1. Надежность (обеспечение минимума ошибок);

  2. Удобочитаемость;

  3. Полнота (способность описать класс задач некоторой предметной области);

  4. Гибкость и др.

Классификация языков программирования

По поколениям

    1. Машинные (0 и 1);

    2. Ассемблеры (компактные программы, легко переводить в машинный код);

    3. Процедурные;

    4. Языки поддержки сложных структур данных;

    5. Языки искусственного интеллекта (Prolog). Позволяют делать логические выводы на знаниях.

    6. Языки нейронных сетей (самообучающиеся).

  1. По поддерживаемым методологиям

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

    2. Языки ООП;

    3. Языки функционального программирования;

    4. Языки логического программирования;

    5. Языки программирования в ограничениях;

  2. По принадлежности к семейству

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

    2. Семейство уникальных языков (APL);

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

    4. C-семейство (версии);

    5. Pascal-семейство;

    6. Prolog-семейство;

  3. По ориентации на предметную область

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

    2. Языки разметки;

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

  4. По степени абстракции от машины

    1. ЯНУ (прямой доступ к регистрам);

    2. ЯВУ;

    3. Языки сверхвысокого уровня;

Язык моделирования – это набор правил, определяющих построение модели, включающей их визуализацию в определенные структуры и описывающей их поведение.

Основные элементы:

  1. Фундаментальные модели и их семантика;

  2. Нотации;

  3. Руководство по использованию;

Два поколения:

  • языки структурного системного анализа и проектирования;

  • объектно-ориентированные языки моделирования;

По назначения языки моделирования делятся на:

  1. Языки описания архитектур;

  2. Языки проектирования модулей;

  3. Языки спецификаций;

  4. языки моделирования данных;

  5. Языки моделирования знаний.

К языкам моделирования относятся: диаграммы потоков данных, диаграммы функционального моделирования, диаграммы сущность-связь, КОК-карты, UML, диаграммы вариантов использования, диаграммы состояний, диаграммы последовательностей, компонентов и др.