Файл: Классификация языков программирования высокого уровня.pdf
Добавлен: 28.03.2023
Просмотров: 195
Скачиваний: 2
Центральной идеей IPL было понятие списка.
Представляя данные в виде списка слов и других символов, программист мог связать понятия в памяти компьютера примерно таким же образом, как, по мнению специалистов по ИИ, организован человеческий мозг.
Понятие списка интересовало и другого выдающегося члена тесного сообщества исследователей ИИ — Джона Маккарти, блестящего и разностороннего математика. В 1958г., когда при его помощи организовалась лаборатория по ИИ при МТИ, Маккарти начал работу над языком высокого уровня, в котором понятие списка сочеталось с системой обозначений, заимствованной из экзотической области математики — так называемого лямбда-исчисления. Введенное в 1931 г. математиком и логиком Алонзо Черчем, это исчисление оперирует только тремя элементами: символами, представляющими переменные и константы, скобками для группировки символов и обозначениями функций, выражаемыми греческой буквой "Лямбда". Маккарти назвал свой язык LISP от List Processing — обработка списков.
3.4. FORTRAN
FORTRAN - это первый язык программирования высокого уровня, который получил признание и стал широко применяться. В своем исходном варианте FORTRAN был разработан фирмой IBM в 1957 г. как язык для работы на компьютерах IBM 704. В это время программисты, привыкшие к использованию языка ассемблера, сомневались в возможности использования языков высокого уровня. Наиболее серьезным аргументом была малая эффективность выполнения кода, получающегося в результате трансляции программ, написанных на этих языках. Первые версии FORTRAN были ориентированы главным образом на обеспечение эффективности выполнения. Первое стандартное определение языка появилось в 1966 г., а затем в 70-х были внесены существенные изменения, которые привели к появлению FORTRAN 77, и в 90-х - FORTRAN 90.
Обычно при реализации FORTRAN используется стандартная технология создания компиляторов. Для написания программы используется обычный текстовый редактор, а компилятор FORTRAN транслирует программу в исполняемый код.
Для объединения подпрограмм, главной программы и набора вспомогательных подпрограмм из стандартных библиотек времени выполнения в единую выполняемую программу используется редактор связей (компоновщик). Завершающим этапом является выполнение программы.
3.5. Basic
История. BASIC (Beginner's All-purpose Symbolic Instruction Code) был разработан Томасом Куртцем и Джоном Кемени, сотрудниками Дартмутского колледжа, в начале 60-х гг. Целью разработчиков было создать простой в использовании язык программирования, в особенности для студентов не технических специальностей. Для увеличения эффективности вычислений BASIC был реализован как интерактивный язык, причём это было сделано задолго до того, как режим разделения времени стал стандартом системной архитектуры.
BASIC также является ярким примером внутренне противоречивого языка программирования. Хотя синтаксис языка BASIC очень прост в изучении, однако при попытке написать программу длиной более одной страницы сложность соединения компонентов программы в единое целое делает получающийся код совершенно нечитаемым. Именно по этой причине в следующие версии BASIC были внесены изменения, связанные с допущением более длинных имен переменных, включением в язык имен подпрограмм и увеличением гибкости структур управления. Эти изменения привели к тому, что BASIC стал похож скорее на язык типа Pascal и FORTRAN, чем на свой исходный простой вариант образца 60-х гг.
Краткий обзор языка. Язык с чрезвычайно простыми синтаксисом и семантикой: пронумерованные операторы, имена переменных, состоящие из одной буквы и цифры, простой оператор IF, цикл FOR и оператор GOSUB для вызова подпрограммы.
3.6. PL/1
История. С самого начала работа велась в условиях нехватки времени. Группа приступила к работе в октябре 1963 г., а срок окончания работ был назначен уже на апрель 1964 г. Участники изо всех сил стремились успеть к сроку. Поклонники Фортрана надеялись увидеть свой любимый язык в качестве основы нового языка. Но комиссия отвергла Фортран: он имел слишком ограниченные возможности, чтобы стать основой универсального языка.
О результате усилий комитета, новом языке программирования, названном ПЛ/1 (РL/1, от Programming Language One — язык программирования, первый), было доложено ассоциации SНАRE в марте.
Некоторые специалисты характеризовали язык как бесформенный, переусложненный и избыточный. Надеясь, что большинство проблем, связанных с новым языком, прояснится в процессе реализации, фирма IBM дала задание своей лаборатории в Харсли (Англия) приступить к работе над компилятором. Сотрудники лаборатории установили, что точное определение этого массивного языка займет не менее 200 страниц. Язык так сильно отредактировали, что разработчики вряд ли узнали бы в получившемся результате свое творение. Уточнения превратили язык в практичный инструмент программирования, который приветствовали многие программисты.
Фирма IBM надеялась, что PL/1 явится кульминацией всего того, что возникло в языках программирования в предыдущие десятилетия. Многие черты Фортрана, Кобола и Алгола действительно нашли отражение в PL/1. Но в то же время критики отмечали, что язык наделен слишком многими качествами, в которых лишь увековечились ошибки прошлого.
3.7. Cobol
История. Архитектура языка COBOL (Common Business Oriented Language) неоднократно пересматривалась - его первая версия вышла в 1960 г., а более поздние версии - в 1974 и 1984гг. Разработка языка COBOL под руководством Грейс Хоппер была организована Министерством обороны США. Разработчики языка COBOL позаимствовали некоторые идеи из языка FLOWMATIC, созданного в компании Univac, включая использование существительных и глаголов для описания действий и отделение описаний данных от команд. При разработке языка COBOL была поставлена уникальная цель - создать язык программирования, использующий "естественный английский" для описания алгоритмов. Хотя получившийся язык достаточно удобен для чтения, но у него все же есть формальный синтаксис и программирование на нем требует определенных практических навыков.
Краткий обзор языка. В начале 60-х гг. язык COBOL (Common Business Oriented Language) широко использовался для обработки деловой информации на компьютерах.
Из-за большого количества представлений разнообразных данных и огромного числа вариантов для большинства операторов языка трансляция COBOL - программы в эффективный выполняемый код достаточно сложна. Большинство ранних компиляторов COBOL были крайне медленными, но более поздние усовершенствования методов компиляции привели к появлению относительно быстрых компиляторов языка COBOL, создающих довольно эффективный исполняемый код.
Программы COBOL организованы в виде четырех разделов. Такая организация отвечает двум основным целям разработки языка: отделение машинно-зависимых элементов программы от машинно-независимых, а также отделение описания данных от описания алгоритма.
Строение языка COBOL основано на статической структуре времени выполнения. Не требуется организации управления ресурсами памяти во время выполнения программы, и многие аспекты языка были разработаны для того, чтобы позволить использовать относительно эффективные структуры времени выполнения. Большинство программ читается легко, поскольку в этом языке используется синтаксис, подобный синтаксису английского языка. Для улучшения читаемости программы можно использовать многочисленные необязательные, так называемые шумовые, слова. Однако синтаксис затрудняет написание, потому что даже самая простая программа получается довольно длинной.
3.8. Algol
История. 27 мая 1958 г. в Федеральном техническом университете г. Цюрих состоялась конференция по созданию нового языка программирования. Причиной созыва конференции послужило отсутствие единого языка научного программирования. Через неделю после заседания возник язык, названный Алгол-58. В ходе конференции возникало много споров. Американцы настаивали, чтобы новый язык был близок к уже используемым языкам, а европейцев больше интересовала мощь языка для решения сложных математических задач.
Язык, созданный на этой конференции, многое унаследовал от Фортрана. В 1959 году Джон Бекус ознакомил с Алголом организацию потребителей компьютеров. От фирмы IBM потребовали реализовать Алгол, но она тормозила развитие языка, возлагая основные свои надежды на Фортран. Несмотря на это Бекус продолжал активно участвовать в развитии Алгола. Вернувшись в Цюрих он занялся синтаксисом языка, в результате чего разработал строгую и точную систему определения каждой структуры языка логическим образом.
Последующее уточнение этой работы датским ученым Питером Науром привело к тому, что такой подход стали называть “форма Бекуса-Наура” (БНФ). Язык образца 1958 года являлся эскизом языка Алгол. В январе 1960г. 13 представителей стран Европы и США, включая 7 человек с прошлой конференции, встретились в Париже, чтобы исправить недостатки предыдущей версии языка. Одним из вновь прибывших на эту конференцию был Питер Наур, предложивший вариант измененного Алгола, записанного при помощи БНФ. Группа программистов единогласно приняла решение по языку. Таким образом, появился язык Алгол-60. На него обрушилось много критики в основном со стороны американцев. Программисты Европы сразу приняли Алгол-60. Он позволил их компьютерной индустрии обрести независимость от американской технологии.
3.9. Forth
История. Язык Forth был разработан Чарльзом Мором около 1970г. Название этого языка возникло как сокращение до пяти букв первого слова в полном названии программы его разработки "Fourth Generation Programming Language". Этот язык в 70-е гг. служил заменой языку FORTRAN для мини-компьютеров, у которых память являлась дефицитным ресурсом в силу ее дороговизны, а единственное устройство ввода-вывода, как правило, было очень медленным и громоздким печатающим устройством на бумажной ленте. Наличие резидентного транслятора-интерпретатора облегчало разработку программ для подобных встроенных систем. Язык Forth не пользовался большим успехом, но он до сих пор существует в качестве основного "движущего механизма" языка Postscript.
3.10. Pascal
История. Pascal разрабатывался с 1968 по 1970 г. Николаусом Виртом. Цель заключалась в том, чтобы создать язык, лишенный многочисленных недостатков ALGOL. Pascal был назван в честь французского математика Блеза Паскаля, который еще в 1642 г. изобрел цифровой калькулятор. Появившийся в 1970 г. Pascal начал завоевывать признание. В 1983 г. был разработан американский стандарт языка (IEEE 770/ ANSI X3.97), а вскоре был разработан стандарт ISO (ISO 7185).
С конца 70-х до конца 80-х гг. этот язык доминировал среди языков, используемых на начальном этапе обучения программированию; позже его заменили C и C++, а затем Java.
Краткий обзор языка. Pascal напоминает программы на С. Тем не менее в Pascal предусмотрена возможность описания внутренних локальных процедур и создания вложенной иерархии имен. Программа на Pascal представляет собой единый программный блок, в котором содержатся определения используемых подпрограмм.
В Pascal имеется достаточно широкий набор простых и структурированных типов данных: целые и вещественные числа, символьные данные, перечисления, логические (булевы) значения, массивы, записи, последовательные файлы и ограниченный тип множеств. Подпрограммы принимают форму функций (если они возвращают одно какое-либо значение) или процедур (если их действие сводится к модификации переданных параметров или глобальных переменных).
3.11. C
История. Язык C был разработан в 1972 г. Деннисом Ритчи и Кеном Томпсоном из AT&T Bell Telephone Laboratories. По стилю он похож на ALGOL и Pascal, а также использует свойства языка PL/I. Хотя он и является универсальным языком, компактный синтаксис и эффективность выполнения написанных на нем программ сделали его популярным языком системного программирования.
В конце 60-x AT&T Bell Telephone Laboratories закончила совместный с MIT и GЕ (General Electric) проект по созданию операционной системы Multics; тем не менее, целью Кена Томпсона оставалась разработка удобной операционной системы. Зародилась идея операционной системы UNIX. Система Multics программировалась на языке PL/1, и хотя он достаточно громоздок, было желание написать новую систему, UNIX, именно на языке высокого уровня. Томпсон имел некоторый опыт работы с системным языком BCPL (языком низкого уровня, не имеющим никаких средств динамической поддержки), он разработал новый язык под названием B, который реализовывал минимальное подмножество возможностей языка BCPL для системного программирования (BCPL помещался в 8-килобайтную память компьютера [PDP-7]).
В 1970 г. для проекта UNIX был приобретен компьютер PDP-11 с его огромной памятью 24 Кбайт. В это время небольшое, но растущее сообщество UNIX почувствовало ограничения языка B. Поэтому в B были добавлены такие понятия, как типы, определения структур и некоторые дополнительные операторы, и новый язык стал известен под именем С.
Хотя C — универсальный язык программирования, он тесно связан с системным программированием. Этот язык впервые был использован для написания ядра операционной системы UNIX и с тех пор был тесно связан с реализациями UNIX. В настоящее время реализации языка C существуют в большинстве компьютерных систем.