logo
51 вопрос по инф

32. Эволюция и классификация языков программирования.

Поколение языков программирования.

1. Языки, созданные в начале 50-х гг., когда только появились первые ЭВМ. Это был первый язык ассемблер, созданный по принципу: одна инструкция – одна строка (машинный код). (Язык ассемблера (автокод) — язык прогр-я низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода программы с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, называемая ассемблером.).

2. Языки, созданные в 50-60-е гг. Разработан символический ассемблер. Появилось понятие переменной. Это был первый полноценный язык программирования.

3. Языки, созданные в 60-е гг. Появились универсальные языки высокого уровня. (Фортран и Кобол)

4. Начало 70-х гг. Языки, предназначенные для крупных проектов. Проблемно-ориентированные языки (не универсальные). В эти языки встраиваются мощные операторы, которые позволяют одним оператором (одной строкой) описывать такую функциональность, для реализации которой потребовалось до 1000 строк. (Напр., Turbo Pascal).

5. Середина 90-х гг. Системы автоматического создания прикладных программ с помощью визуальных средств разработки без знания программирования.

Обзор языков высокого уровня.

1) Фортран (Fortrun). Первый компилированный язык, созданный Джоном Бэкусом. Фортран имеет достаточно большой набор встроенных математических функций, поддерживает работу с целыми, вещественными и комплексными числами высокой точности. Выразительные средства языка изначально были весьма бедны, поскольку Фортран был одним из первых языков высокого уровня. В дальнейшем в Фортран были добавлены многие лексические конструкции, характерные для структурного, функционального и даже объектно-ориентированного программирования. Для этого языка было разработано огромное количество библиотек.

2) Кобол (Cobol). Создан в 60-е годы. Разработчиком первого единого стандарта Кобола являлась Грейс Хоппер. Это компилируемый язык, применяется в первую очередь в экономической области для решения бизнес задач. Мощные средства работы с большими массивами, которые могут храниться на любых носителях. Язык позволяет эффективно работать с большим количеством данных, он насыщен разнообразными возможностями поиска, сортировки и распределения. Но на Коболе можно запрограммировать лишь простейшие алгебраические вычисления. Для инженерных расчетов этот язык не годится.

3) Алгол. Компилируемый язык. Вышел в 1958 г. Из-за более сложной структуры не получил широкого распространения. Не смогли создать соответствующие компиляторы. Применяется при составлении программ для решения научно-технических задач на ЭВМ. Алгол был первым языком программирования, использующим пары begin end для выделения блоков выражений.

4) Паскаль (Turbo Pascal). Создан в 70-х гг. Неклаусом Виртом. Похож на Алгол, но в нём ужесточен ряд требований к структуре программы.

Достоинства: Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент; Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам; Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ; Встроенная возможность использовать вставки на языке ассемблера.

5) Basic. Есть компиляторы и интерпретаторы. По популярности занимает одно из первых мест в мире. Создан в 60-х гг. в качестве учебного языка и просто в изучении. При проектировании языка использовались следующие восемь принципов: быть простым в использовании для начинающих; быть языком программирования общего назначения; предоставлять возможность расширения функциональности, доступную опытным программистам; быть интерактивным; предоставлять ясные сообщения об ошибках; быстро работать на небольших программах; не требовать понимания работы аппаратного обеспечения; быть посредником между пользователем и операционной системой.

6) С («си»). Может заменить ассемблер. Язык не зависит от конкретных машин, эффективен и создает компактные программы. Похож на Паскаль и имеет дополнительные средства для прямой работы с памятью.

7) С++. Объектно-ориентированное расширение языка. Создан в 60-е гг. Нужна профессиональная подготовка для работы с этим языком.

8) Java. Создан в начале 90-х гг. на основе С++. По своей популярности на втором месте после Basic. Особое внимание уделяется: поддержке всевозможных мобильных устройств и микрокомпьютеров, которые встраиваются в бытовую технику. Недостаток: невысокая скорость действия, т.к. для него есть интерпретатор.

9) Языки программирования баз данных.

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

SQL – основан на мощной математической теории и позволяет обрабатывать не отдельными записями, а группами записей. В каждой СУБД есть этот язык.

10) Языки программирования для Интернета. Было создано много языков специально для Интернета. Они все интерпретируемы. Такие языки – скрипт-языки.

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

11) Язык Пролог. Создан в начале 70-х г. Используется там, где решение задачи нельзя формализовать (задать формулами). Программа на этом языке строится из последовательности фактов и правил, а затем формируется утверждение, которое Пролог будет пытаться доказать с помощью этих правил (задачи искусственного интеллекта). Человек описывает только структуру, а пролог ищет решение.

12) Язык Aдa. Назван по имени Легги Адамс Ады Байрон (Ада Лавлейс). Её считают первым программистом. Структура похожа на Паскаль, но различные уровни доступа специфицированы. Язык создан в 1979—1980 годах в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встраиваемых систем (то есть систем управления автоматизированными комплексами, работающими в реальном времени). Имелись в виду, прежде всего, бортовые системы управления военными объектами (кораблями, самолётами, танками, ракетами, снарядами и т. п.).