Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1 Характеристики ЯП.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
329.73 Кб
Скачать

Директивные (структурные) языки (появились в 50-е годы)

Преимущества

  • Повторное использование ранее написанных блоков кода.

  • Высокая степень независимости программы от типа вычислительной машины.

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

Недостатки

  • Некоторая потеря в скорости вычислений.

Применение

  • Создание операционных систем и системных программ.

  • Разработка небольших пользовательских приложений.

  • Научные расчеты.

Примеры языков: FORTRAN, C, Pascal.

Декларативные (функциональные и логические) языки (зародились в 60-е годы)

Особенность

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

Преимущества

  • Легче формализуется математическими средствами.

  • Как следствие, программы проще тестировать, т.е. проверять на наличие ошибок.

  • Высокая степень абстракции.

Недостатки

  • Снижение скорости работы программы.

Применение

  • Доказательство теорем.

  • Возможность обработки разнородных данных.

Наряду с алгоритмическими языками параллельно развивались и языки, предназначаемые для обработки деловой информации, а также языки искусственного интеллекта. К первым относится язык COBOL (COmmon Business Oriented Language), а ко вторым – языки LISP (LISt Processing) и Prolog. Язык LISP, разработанный в 60-х годах под руководством Дж. Маккарти, был первым функциональным языком обработки списков, который нашел широкое применение в теории игр.

A) Функциональные языки

Особенность

  • Программу на функциональном языке можно представить как функцию с одним или несколькими аргументами.

Преимущества

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

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

Недостатки

  • Нелинейная структура программы, следовательно, такое программирование сложно для понимания.

  • Относительно невысокая эффективность вычислений.

Применение

  • Обработка рекурсивных структур данных.

  • Обработка символьной информации.

Примеры языков: Haskell.

B) Логические языки

Особенность

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

  • В программе могут быть логические причинно-следственные связи.

Преимущества

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

Недостатки

  • Узкий класс решаемых задач.

Применение

  • Эмуляция искусственного интеллекта.

  • Разработка экспертных систем.

Примеры языков: Prolog.

В конце 60-х годов под руководством Найарда и Дала был разработан язык Simula-67, использующий концепцию пользовательских типов данных. Фактически это первый язык, применяющий понятие классов.

Универсальный язык программирования С был разработан в середине 70-х годов Денисом Ритчи и Кеном Томпсоном. Этот язык стал популярным языком системного программирования и в свое время использовался для написания ядра операционной системы UNIX. Стандарт языка С начал разрабатываться рабочей группой института стандартов ANSI в 1982 году. Международный стандарт языка С принят в 1990 году. Язык С лег в основу разработки языков программирования C++ и Java.

С появлением персональных компьютеров языки стали составными частями интегрированных сред разработки. Появились языки, применяемые в различных офисных программах, например VBA (Visual Basic for Application).

В 90-х годах с распространением сети Интернет расширяется возможность распределенной обработки данных, что отражается и на развитии языков программирования. Появляются языки, ориентированные на создание серверных приложений, такие как Java, Perl и PHP, языки описания документов – HTML и XML. Традиционные языки программирования С++ и Pascal также претерпевают изменения: под языком программирования начинает пониматься не только функциональность самого языка, а также библиотеки классов, предоставляемые средой программирования. Акцент со спецификации самих языков программирования переносится на стандартизацию механизмов взаимодействия распределенных приложений. Появляются новые технологии – COM и CORBA, специфицирующие взаимодействие распределенных объектов.