Файл: КЛАССИФИКАЦИЯ ЯЗЫКОВ КЛАССИФИКАЦИЯ ЯЗЫКОВ.pdf

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

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

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

Добавлен: 29.02.2024

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

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

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

Содержание:

Введение

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

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

Важной особенностью творчества создания языков программирования последних десятилетий можно считать прекращение попыток создания "универсального" языка программирования, призванного объединить в себе все последние достижения в области разработки языков. Крупные "языковые" проекты навсегда остались в прошлом вместе с порожденными ими языками.

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

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

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 в 1967 использовался язык BCPL, и языки которые были созданы на его основе: B (1968) и его переработанная версия - C (1971).

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

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

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

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

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

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

В 1988 уже существовал Modula 3 и Perl 2.0. В 1989 ANSI C (C89), Perl 3.0, bash. В 1990: Scheme IEEE, ISO C (C90), SML'90. В 1991: Fortran'90 ISO, 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.


В среде системных программистов визуальный интерфейс получил свой современный вид благодаря противостоянию в 1990 с Microsoft фирм Watcom и Borland, которое послужило появлением семейств языков Microsoft Visual Studio, ставшего мощнейшим инструментом в руках Microsoft для пропаганды миграции на платформу Windows, и разрозненного множества систем от Borland, - таких сред как Delphi, Kylix, СBuilder и JBuilder. Но кроме того, флагманским продуктом Borland провозглашается все-таки система, основанная на довольно старом языке Object Pascal – Delphi.

Также в последнее время высока популярность WWW-программирования. Языки WWW-программирования обладают свойствами, которые позволяют использовать их на серверах. Чаще всего это интерпретаторы (такие как Perl, PHP) позволяют использовать их на стороне сервера, или языки, поддерживаемые клиентом - HTML, XML, Java, JavaScript, или специальные модули (plug-in), расширяющие клиента - Flash.

1.1 Языки программирования высокого уровня

Ада [Ada] - Язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон

Алгол [ALGOL - ALGOrithmic Language] - Язык программирования высокого уровня, ориентированный на описание алгоритмов решения вычислительных задач. Был создан в 1958 г. специалистами западно-европейских стран для научных исследований. В 1960 г. версия этого языка Алгол-60 была принята Международной конференцией в Париже и широко использовалась на ЭВМ 2-го поколения. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации ( ИФИП) в 1968 г., получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. Хотя в настоящее время Алгол практически не используется, он послужил основой или оказал существенное влияние на разработку более современных языков, например, Ада , Паскаль и др.

Бейсик [BASIC - Beginner’s All-purpose Symbolic Instruction Code] - Язык программирования высокого уровня , разработанный в 1963 - 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени . Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом.


Языки программирования URL:

(Дата обращения 10.11.18)

Некоторые реализации Бейсика включают средства обработки данных и наборов данных. Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий.

Кобол [COBOL - COmmon Buisiness-Oriented Language] - Язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.

Лисп [LISP - LISt Processing] - Алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог .

ЛОГО [LOGO от греч. logos - слово ] - Язык программирования высокого уровня, разработан в Массачусетском технологическом институте в ориентировочно 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем .

Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Он назван в честь французского математика XVII века Блеза Паскаля. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США).