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

Автор работы: Пользователь скрыл имя, 28 Августа 2014 в 13:56, курсовая работа

Краткое описание

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко.

Прикрепленные файлы: 1 файл

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

— 228.00 Кб (Скачать документ)

Обычно при реализации FORTRAN используется стандартная технология создания компиляторов. Для написания программы используется обычный текстовый редактор, а компилятор FORTRAN транслирует программу в исполняемый код.

Для объединения подпрограмм, главной программы и набора вспомогательных подпрограмм из стандартных библиотек времени выполнения в единую выполняемую программу используется редактор связей (компоновщик). Завершающим этапом является выполнение программы [3,4].

3.5. Basic (Бейсик)

История. BASIC (Beginner's All-purpose Symbolic Instruction Code) был разработан Томасом Куртцем и Джоном Кемени, сотрудниками Дартмутского колледжа, в начале 60-х гг. Целью разработчиков было создать простой в использовании язык программирования, в особенности для студентов не технических специальностей. Для увеличения эффективности вычислений BASIC был реализован как интерактивный язык, причём это было сделано задолго до того, как режим разделения времени стал стандартом системной архитектуры.

BASIC также является ярким  примером внутренне противоречивого языка программирования. Хотя синтаксис языка BASIC очень прост в изучении, однако при попытке написать программу длиной более одной страницы сложность соединения компонентов программы в единое целое делает получающийся код совершенно нечитаемым. Именно по этой причине в следующие версии BASIC были внесены изменения, связанные с допущением более длинных имен переменных, включением в язык имен подпрограмм и увеличением гибкости структур управления. Эти изменения привели к тому, что BASIC стал похож скорее на язык типа Pascal и FORTRAN, чем на свой исходный простой вариант образца 60-х гг.

Краткий обзор языка. Язык с чрезвычайно простыми синтаксисом и семантикой: пронумерованные операторы, имена переменных, состоящие из одной буквы и цифры, простой оператор IF, цикл FOR и оператор GOSUB для вызова подпрограммы [1,2].

3.6. PL/1 (ПЛ/1)

История. С самого начала работа велась в условиях нехватки времени. Группа приступила к работе в октябре 1963 г., а срок окончания работ был назначен уже на апрель 1964 г. Участники изо всех сил стремились успеть к сроку. Поклонники Фортрана надеялись увидеть свой любимый язык в качестве основы нового языка. Но комиссия отвергла Фортран: он имел слишком ограниченные возможности, чтобы стать основой универсального языка.

О результате усилий комитета, новом языке программирования, названном ПЛ/1 (РL/1, от Programming Language One — язык программирования, первый), было доложено ассоциации SНАRE в марте.

Некоторые специалисты характеризовали язык как бесформенный, переусложненный и избыточный. Надеясь, что большинство проблем, связанных с новым языком, прояснится в процессе реализации, фирма IBM дала задание своей лаборатории в Харсли (Англия) приступить к работе над компилятором. Сотрудники лаборатории установили, что точное определение этого массивного языка займет не менее 200 страниц. Язык так сильно отредактировали, что разработчики вряд ли узнали бы в получившемся результате свое творение. Уточнения превратили язык в практичный инструмент программирования, который приветствовали многие программисты.

Фирма IBM надеялась, что PL/1 явится кульминацией всего того, что возникло в языках программирования в предыдущие десятилетия. Многие черты Фортрана, Кобола и Алгола действительно нашли отражение в PL/1. Но в то же время критики отмечали, что язык наделен слишком многими качествами, в которых лишь увековечились ошибки прошлого [2,3,5].

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 основано на статической структуре времени выполнения. Не требуется организации управления ресурсами памяти во время выполнения программы, и многие аспекты языка были разработаны для того, чтобы позволить использовать относительно эффективные структуры времени выполнения. Большинство программ читается легко, поскольку в этом языке используется синтаксис, подобный синтаксису английского языка. Для улучшения читаемости программы можно использовать многочисленные необязательные, так называемые шумовые, слова. Однако синтаксис затрудняет написание, потому что даже самая простая программа получается довольно длинной [2].

3.8. Algol (Алгол)

История. 27 мая 1958 г. в Федеральном техническом университете г. Цюрих состоялась конференция по созданию нового языка программирования. Причиной созыва конференции послужило отсутствие единого языка научного программирования. Через неделю после заседания возник язык, названный Алгол-58. В ходе конференции возникало много споров. Американцы настаивали, чтобы новый язык был близок к уже используемым языкам, а европейцев больше интересовала мощь языка для решения сложных математических задач.

Язык, созданный на этой конференции, многое унаследовал от Фортрана. В 1959 году Джон Бекус ознакомил с Алголом организацию потребителей компьютеров. От фирмы IBM потребовали реализовать Алгол, но она тормозила развитие языка, возлагая основные свои надежды на Фортран. Несмотря на это Бекус продолжал активно участвовать в развитии Алгола. Вернувшись в Цюрих он занялся синтаксисом языка, в результате чего разработал строгую и точную систему определения каждой структуры языка логическим образом.

Последующее уточнение этой работы датским ученым Питером Науром привело к тому, что такой подход стали называть “форма Бекуса-Наура” (БНФ). Язык образца 1958 года являлся эскизом языка Алгол. В январе 1960г. 13 представителей стран Европы и США, включая 7 человек с прошлой конференции, встретились в Париже, чтобы исправить недостатки предыдущей версии языка. Одним из вновь прибывших на эту конференцию был Питер Наур, предложивший вариант измененного Алгола, записанного при помощи БНФ. Группа программистов единогласно приняла решение по языку. Таким образом, появился язык Алгол-60. На него обрушилось много критики в основном со стороны американцев. Программисты Европы сразу приняли Алгол-60. Он позволил их компьютерной индустрии обрести независимость от американской технологии [2,3,6].

3.9. Forth (Форт)

История. Язык Forth был разработан Чарльзом Мором около 1970г. Название этого языка возникло как сокращение до пяти букв первого слова в полном названии программы его разработки "Fourth Generation Programming Language". Этот язык в 70-е гг. служил заменой языку FORTRAN для мини-компьютеров, у которых память являлась дефицитным ресурсом в силу ее дороговизны, а единственное устройство ввода-вывода, как правило, было очень медленным и громоздким печатающим устройством на бумажной ленте. Наличие резидентного транслятора-интерпретатора облегчало разработку программ для подобных встроенных систем. Язык Forth не пользовался большим успехом, но он до сих пор существует в качестве основного "движущего механизма" языка Postscript [2,8].

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 [2,9,10].

Краткий обзор языка. Pascal напоминает программы на С. Тем не менее в Pascal предусмотрена возможность описания внутренних локальных процедур и создания вложенной иерархии имен. Программа на Pascal представляет собой единый программный блок, в котором содержатся определения используемых подпрограмм.

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

Pascal можно эффективно  реализовать на обычном аппаратном  компьютере. Идеология языка включает  только те языковые свойства, для которых существуют хорошо  изученные и эффективные методики  реализации. Во время трансляции  почти для всех операций возможен  статический контроль типов, так что необходимость в динамическом контроле минимальна, но при этом обеспечивается полная безопасность выполнения. Обычно программа транслируется в выполняемый машинный код, но в некоторых реализациях Pascal результатом трансляции является виртуальный машинный код, который затем интерпретируется и выполняется при помощи некоторого программно-моделируемого интерпретатора [2,9,10].

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 существуют в большинстве компьютерных систем.

Программисты, использующие язык C, - наиболее быстро растущая популяция в программистском мире. Вместе с языками C++ и Java, которые разрабатывались на его основе, он оказывает наибольшее влияние на программирование. Синтаксис и семантика большинства новых языков (таких как Java и Perl) частично основаны на концепциях, характерных для языка С [1,2].

3.12. Prolog (Пролог)

История. Разработка языка Prolog началась в 1970 г. Аланом Кулмероэ и Филиппом Русселом. Они хотели создать язык, который мог бы делать логические заключения на основе заданного текста. Название Prolog является сокращением от "PROgramming in LOGic". Этот язык был разработан в Марселе в 1972 г.

Первая реализация языка Prolog с использованием компилятора Вирта ALGOL-W была закончена в 1972 г., а основы современного языка были заложены в 1973г. Использование языка Prolog постепенно распространялось среди тех, кто занимался логическим программированием, в основном благодаря личным контактам, а не через коммерциализацию продукта. В настоящее время существует несколько различных, но довольно похожих между собой версий. Хотя стандарта языка Prolog не существует, однако версия, разработанная в Эдинбургском университете, стала наиболее широко используемым вариантом. Недостаток разработок эффективных приложений Prolog сдерживал его распространение вплоть до 1980 г. [2,7].

3.13. C++ (Си++)

История. Создание языка C++ обычно приписывают одному конкретному человеку. Бьерн Страуструп на основе языка C разработал столь же эффективный язык, но с некоторыми дополнительными возможностями в области наследования объектов. Для понимания языка C++ желательно, чтобы уже был изучен язык С.

В конце 70-х гг. Страуструп работал над своей докторской диссертацией в компьютерной лаборатории в Кембридже. В то время он использовал язык Simula (произошедший от ALGOL), в котором было введено понятие классов как объектов данных. Страуструп сделал вывод, что классы, определенные в Simula, могут служить эффективным механизмом для определения типов. Поступив на работу в компанию AT&T Bell Telephone Laboratories в США, он немедленно начал разрабатывать расширения для языка C, которые включали в себя некоторые возможности этих самых классов из Simula.

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