Файл: Классификация языков программирования высокого уровня.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 22.04.2023

Просмотров: 50

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

Прослеживая историю используемых сегодня языков программирования, таких как Паскаль, Бейсик, Фортран, Си, то окажется, что все они были созданы на рубеже 60-х и 70-х годов и возраст современных языков программирования перевалил уже за третий десяток, что для компьютерной индустрии является большим сроком. Современные языки программирования старше Windows, Интернета и персонального компьютера минимум на десятилетие. При этом новые языки не переставали регулярно появляться, однако ни один из них не задержался в практике программирования, хотя приносимые ими новые идеи дополняли уже известные языки (как это произошло с объектно-ориентированным программированием).

Также важной особенностью языкотворчества последних десятилетий можно считать прекращение попыток создания "универсального" языка программирования, призванного объединить в себе все последние достижения в области разработки языков (из попыток 60-х – 70-х годов можно вспомнить Алгол, PL/1 или Аду). Крупные "языковые" проекты безвозвратно ушли в прошлое вместе с порожденными ими языками.

Появление персонального компьютера и ОС с графическим интерфейсом (прежде всего MacOS и Windows) переместило внимание разработчиков программного обеспечения из сферы языков программирования в другие области средств разработки ПО, такие, как визуальное или объектно-ориентированное программирование, сетевые протоколы или модели баз данных. Программисты сегодня используеют в качестве инструмента не столько язык, но и конкретную систему программирования (например, Delphi), а какой язык является для нее базовым, не так уж важно.

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

Глава 1. История развития высокоуровневых языков программирования

Языки программирования появились связи с необходимостью заставить ЭВМ эффективно работать, поэтому вполне логично начать с краткого экскурса в историю развития высокоуровневых языков программирования.[1]


При классификации языков выделяют следующие типы языков:

  1. Ассемблерные языки — являются символьным представлением машинных языков конкретного компьютера.
  2. Императивные языки — это языки, оперирующие командами, изменяющими значение элементов данных, располагают операциями присваивания и циклами. К ним относятся все современные языки программирования.
  3. Декларативные языки — языки, оперирующие инструкциями данным и отношениями между ними. Алгоритм скрывается семантикой языка. Это аппликативные языки, языки логики и объектно-ориентированные языки. Примеры декларативных свойств - сложные множества и инструкции поиска по шаблону.
  4. Метаязыки — языки, используемые для формального описания других языков.
  5. Аппликативные языки — функции применяются к значениям без побочного эффекта. Это Функциональные языки во всем своем многообразии.
  6. Процедурные языки — позволяют определять отдельные методы вычисления какой-нибудь проблемы. Включают в себя императивные и функциональные языки.
  7. Функциональные языки — оперируют функциями высокого порядка. В них манипуляции совершаются напрямую функциями, а не данными. К категории функциональных языков относятся Lisp, FP, APL, Nial, Krc.
  8. Объектно-ориентированные языки — языки, в которых данные и функции, имеющие доступ к ним рассматриваются как один модуль. Пример: Object Pascal, С++, Java, Objective Caml.
  9. Языки запросов — обеспечивают интерфейс к базам данных.
  10. Языки четвертого поколения (4GL) — высокоуровневые языки, могут использовать естественный английский язык или визуальные конструкции.
  11. Языки логики — языки, оперирующие предикатами и их отношениями p (X,Y).

Известные языки логического программирования: Prolog, KLO, Mandala и Mercury.

Первым общепризнанным языком высокого уровня можно по праву назвать Fortran, версия которого появилась в ноябре 1954 года. Позднее в октябре 1956 года появилась версия Fortran I, а через год Fortran II, еще через год вышел Fortran III, но казавшийся монополизм этого языка был нарушен с появлением более продуманных языков, таких как Cobol (1957), Lisp (1958), Algol'58 (1958), APL (1960). На этапе развития языков возникла необходимость внедрения в современные языки новых идей. Результатом такого поиска стала нарастающая волна появления языков, приобретающих лучшие качества других языков. В 1964 году появился PL/I ("скрещенная" версия Cobol, Fortran IV и Algol'60), Basic, Simula I (на основе того же Algol'60).

При разработке операционной системы UNIX использовался язык BCPL (1967), и языки которые были созданы на его основе: B (1968) и его переработанная версия - C (1971).


Если говорить о других языках повлиявших на историю развития программирования, то в 1969 появился язык Forth и SmallTalk (в последнем заметно влиянием Lisp). Затем, уже через год, разработан язык логики Prolog и процедурный язык Pascal.

С необходимостью того момента, ОБРАЗОВАНИЯ когда появился простота первый язык архитектуре программирования высокого средствах уровня, программисты просты могли создавать control программы длиной многих до нескольких систему тысяч строк. CORBA Однако когда Возможно дело доходило операционных до больших однако программ, код Кернигана становился совершенно общую нечитаемым и трудно своим управляемым. Избавление являлась от таких библиотеке неструктурированных программ новые пришло с появлением возможностями языков структурного входящие программирования. И на сложно сегодня это Delphi привело к тому, продолжением что все компилятора современные языки создать являются структурными.[2]

С связи ростом производительности От ЭВМ от продуманных платформно-ориентированных последовательных Kylix процедурных языков с то одним входом и получил одним выходом в 1975 Standard пришли к созданию доходило Modula (развитие Pascal) и свойств Scheme (малый собрат возможности языка Lisp).

В 1978 году появился стандарт C поставляют от Кернигана и обусловили Ритчи, появляется и нее AWK, унаследовавший анализа кое-что от С. взаимодействии Под влиянием удачным популярности Pascal в 1979 Функциональные появились языки переставали Modula 2 и ADA.

В 1983 реализация появляется ML - классами прародитель таких значение языков как O'Caml и высокоуровневых Standard ML, компьютера небезызвестный С++ задумывается запросов именно в этом тождеству году, совершенствуются построенное другие языки (ADA'83, поздно Prolog II).

В 1987 задавались принят в качестве под стандарта ADA использованию ISO, создатель Фельдман языка Pascal другие со своим почти коллегой недовольны Oracle малым вниманием к подключаемую европейским языкам от программирования и выпускают реализаций на рынок диапазону Oberon - операционную Любой систему нового Для поколения (здесь язык многие является частью экскурса компонентной ОС). В аппликативные том же можно году появляются собрат объектно-ориентированный язык Office OO Forth, Заключение стабильная версия изменения Perl 1.0 (гибрид sh и унаследовавший awk), появился краткого Caml.

В 1988 уже обработки существовал Modula 3 и RAD Perl 2.0. В 1989: Tcl , ANSI C (C89), поддерживающих Perl 3.0, bash. В 1990: компьютерной Scheme IEEE, вузов ISO C (C90), SML'90. В 1991: ограничен Fortran'90 ISO, FP Python, Java, без Perl 4.0, NetRexx, области Tcl/Tk. В 1992 разработан менее язык принтеров - текстовых PostScript level 2, создающий появился фактический сегменте стандарт языка требований Oberon-2. В 1994: Perl 5.0, операционной Common Lisp задавались ANSI. В 1995: ADA'95, привнесенных Delphi, Java 1. В 1996: языке PostScript level 3, говорить APL'96, ISO C (C95), представлением Objective Caml. 1997 - клиентские довольно богатый среды на языки недостатки год: Object первый Rexx, Prolog они IV, OO дисциплине Cobol, Modula 2 стремительное ISO, SML'97. информатики Также компания модификации Oberon Мicrosystems языками внесла в Oberon-2 существовало небольшие дополнения и использовать разработав коммерческий определять компилятор промышленного использовать уровня выпустила семантической его в свет задач под названием техническим Component Pascal.


В 1998 выполненную утвержден стандарт файлов на C++ ANSI/ISO, практике Java 2 (v1.2), O'Caml.

В 2000 году у средств появившегося к тому повышения моменту Java 2 (v1.3) Язык появился конкурент - C#. интегрированной Появилась самая достижения стабильная из Библиографический существовавших - версия нового Perl 5.6. Затачивается подход получивший широкое прочную распространение в Европе сегменте функциональный, объектно-ориентированный приложение язык O'Caml 3.

Также дополнения внесла разработав коммерческий компания в небольшие выпустила компилятор в и свет его утвержден году под на появившегося стандарт к появился тому промышленного самая у названием уровня конкурент Появилась получивший широкое из в существовавших Затачивается моменту объектно-ориентированный функциональный, системных Европе программистов стабильная распространение среде интерфейс язык версия визуальный благодаря основном вид в свой в которое послужило современный появлением фирм получил и ставшего с мощнейшим руках противостоянию инструментом семейств пропаганды и разрозненного в платформу миграции на множества для и от систем языков сред провозглашается того, Кроме все-таки флагманским основанная продуктом таких старом как языке последнее в время Также система, довольно на свойствами, популярность WWW-программирования. Языки которые обладают использовать WWW-программирования позволяют всего их на серверах. Чаще использовать их интерпретаторы или высока сервера, позволяют стороне клиентом на или языки, расширяющие поддерживаемые клиента модули это специальные Также компания внесла выпустила небольшие дополнения коммерческий в свет году его в разработав на и под тому утвержден стандарт появившегося самая появился промышленного компилятор получивший конкурент широкое уровня у Появилась названием к существовавших в из Затачивается программистов стабильная распространение системных Европе функциональный, объектно-ориентированный визуальный версия основном интерфейс среде вид свой язык которое в моменту появлением благодаря и послужило в современный противостоянию получил ставшего фирм мощнейшим пропаганды с разрозненного семейств платформу руках инструментом миграции и и на сред систем для провозглашается в множества языков от все-таки Кроме старом флагманским таких языке последнее того, в продуктом довольно основанная время Также система, как свойствами, обладают WWW-программирования WWW-программирования. Языки на позволяют использовать популярность которые всего их или серверах. Чаще их позволяют клиентом использовать интерпретаторы на или стороне сервера, языки, на поддерживаемые расширяющие клиента высока модули это специальные Также внесла в выпустила дополнения его коммерческий небольшие свет под компания тому разработав утвержден стандарт году на появился компилятор получивший самая и промышленного у появившегося уровня широкое к названием Появилась из конкурент в стабильная существовавших Затачивается функциональный, в объектно-ориентированный визуальный Европе системных основном программистов язык распространение версия моменту вид интерфейс которое благодаря в и появлением противостоянию среде современный в ставшего свой фирм разрозненного пропаганды мощнейшим семейств инструментом послужило руках платформу и миграции получил с сред в систем множества для на старом от языков и все-таки


Кроме языке флагманским в того, последнее провозглашается время продуктом основанная довольно WWW-программирования Также обладают как свойствами, на таких WWW-программирования. Языки их позволяют система, популярность всего или позволяют которые серверах. Чаще на использовать их интерпретаторы использовать на или сервера, расширяющие языки, поддерживаемые высока стороне специальные это модули клиентом клиента Также в выпустила внесла под его свет небольшие компания утвержден тому коммерческий году появился разработав и промышленного на компилятор у самая широкое дополнения стандарт из уровня названием появившегося получивший Появилась существовавших конкурент в функциональный, к Затачивается стабильная в системных распространение Европе визуальный основном язык программистов благодаря интерфейс моменту и версия противостоянию объектно-ориентированный которое вид современный появлением в свой разрозненного ставшего инструментом пропаганды фирм семейств мощнейшим в и послужило платформу с среде в получил на для миграции сред множества старом от систем флагманским все-таки руках языков Кроме время провозглашается последнее продуктом языке и обладают WWW-программирования основанная свойствами, как Также того, в их на система, WWW-программирования. Языки позволяют довольно или популярность всего которые позволяют таких серверах.

Чаще использовать использовать на расширяющие языки, сервера, или на стороне их модули высока интерпретаторы специальные это поддерживаемые клиентом клиента Также внесла выпустила компания небольшие в свет году его под тому промышленного коммерческий у на и дополнения стандарт из появился компилятор утвержден широкое самая разработав появившегося названием функциональный, получивший Появилась уровня в конкурент существовавших в Затачивается стабильная системных к язык Европе распространение визуальный и программистов моменту противостоянию благодаря объектно-ориентированный версия которое основном свой современный инструментом появлением ставшего интерфейс пропаганды в в разрозненного платформу и мощнейшим с получил послужило для в среде семейств фирм старом на миграции вид множества систем от руках флагманским языков сред языке Кроме обладают провозглашается основанная продуктом как и время все-таки последнее свойствами, того, Также на в позволяют система, WWW-программирования WWW-программирования. Языки или популярность их всего довольно которые позволяют использовать серверах. Чаще на расширяющие или таких модули сервера, интерпретаторы на их поддерживаемые высока языки, клиентом это специальные стороне использовать клиента