Современный язык программирования высокого уровня: примеры и сравнения

0
0

Написание большинства современных компьютерных программ осуществляется при задействовании языков высокого уровня. Примечательно, что многие из них были разработаны еще в 60 и 70-х годах, но актуальны до сих пор. Какие еще факты о высокоуровневых языках мы можем отметить? Каковы наиболее распространенные разновидности соответствующих решений?

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

Сущность высокоуровневых языков написания программ

Язык программирования высокого уровня — инструмент, относящийся к категории машинно-независимых. Что это означает? Дело в том, что языки программирования делятся на несколько категорий.

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

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

Есть языки ассемблера. По сути дела, они являются надстройкой над теми, что предназначены для низкоуровневого управления аппаратными компонентами ПК посредством машинного кода. Но по многим признакам языки ассемблера также принято относить к машинно-зависимым. Как правило, они адаптированы к конкретной разновидности аппаратного компонента ПК. Их основная задача — упростить пользователю управление компьютером посредством соответствующих низкоуровневых коммуникаций.

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

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

Трансляторы

Важнейшие элементы, что входят в языки программирования высокого уровня, — трансляторы. Их функция может быть разной. В числе ключевых областей применения трансляторов — «перевод» команд, формируемых на языке программирования высокого уровня, в машинный код, понятный конкретному аппаратному компоненту ПК, например, процессору. Трансляторы, выполняющие данную функцию, именуются также компиляторами. Есть другая разновидность соответствующих компонентов — интерпретаторы. Они предназначены, в свою очередь, для «перевода» высокоуровневых команд в те, что понятны операционной системе или какой-либо программе.

Классификация высокоуровневых языков

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

- процедурно-ориентированные (задействуются в качестве инструмента при обработке информации на любом этапе вычислений);

- проблемно-ориентированные (используются как средство решения отраслевых и прикладных задач, формируемых при расширении областей применения ПК);

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

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

Современные языки программирования высокого уровня

Процедурно-ориентированные языки

К таковым можно отнести Фортран. Он считается первым языком программирования высокого уровня, созданным для широкого применения. Характеризуется простой структурой. К процедурно-ориентированным языкам также относится Бейсик. Считается одним из самых часто используемых при обучении программированию. Пример другого процедурно-ориентированного языка — СИ. Изначально он создавался для ОС UNIX. На его основе впоследствии был создан язык C++, дополненный инструментами объектно-ориентированного программирования. Еще один язык, относящийся к рассматриваемой категории — Паскаль. Часто также задействуется при обучении программированию. Возможности данного языка позволяют его использовать как очень мощный инструмент разработки профессиональных видов ПО.

Проблемно-ориентированные языки

К таковым можно отнести Лисп, Пролог. Первый язык был разработан в 1962 году — спустя несколько лет после создания Фортрана. Рассматривается, таким образом, как второй в истории. Активно задействовался в качестве инструмента работы программистов со строками символов. На практике Лисп использовался в системах, классифицируемых как экспертные, а также те, что предназначались для аналитических вычислений. Пролог нашел широкое применение в области логического программирования. На практике чаще всего задействуется в управлении алгоритмами искусственного интеллекта в соответствующих системах.

Объектно-ориентированные языки

Изучим теперь примеры языков программирования высокого уровня, которые относятся к категории объектно-ориентированных. В числе таковых — Visual Basic, Delphi, Visual Fortran, отмеченный выше C++, а также Prolog ++. Фактически все они в своей основе содержат процедурно-ориентированные языки. Однако предполагается существенное их дополнение визуальными элементами управления с целью последующего освоения необходимых алгоритмов разработчиками, привыкшими к другим инструментам. Так, первый язык программирования высокого уровня — Фортран — может быть в оперативные сроки изучен IT-специалистами посредством возможностей Visual Fortran. Аналогичным методом можно быстро освоить Бейсик или Пролог.

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

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

Фортран и Лисп — первый и второй высокоуровневые языки

Изучим подробнее то, как появился первый язык программирования высокого уровня — Фортран, а также Лисп, считающийся вторым. В 1954 году разработчики из компании IBM, возглавляемые Джоном Бэкусом, создали язык, посредством которого программисты получили возможность значительно облегчить взаимодействие с ПК, которое до того момента осуществлялось посредством машинных команд либо ассемблера. Он получил название Fortran и вскоре стал известен и в СССР под русифицированным наименованием. Фортран стал популярным инструментом для научных вычислений.

Основным революционным элементом, предложенным специалистами IBM сообществу, стал, собственно, тот самый компилятор, призванный быть альтернативой ассемблеру. В первые годы практики написания программ при использовании Фортран многие разработчики считали компилятор не вполне удачным решением, прежде всего, с точки зрения трудозатрат. Многие машинные коды, действительно, составлялись проще, чем при задействовании транслятора. Однако по мере стремительного увеличения производительности компьютеров программисты начинали осознавать, что без использования компилятора эффективное ПО, которое будет полностью задействовать вычислительные мощности ПК, создавать крайне проблематично. Так, начинания разработчиков из IBM получили дальнейшее развитие. Основные синтаксические конструкции языка программирования высокого уровня Фортран во многих случаях стали задейстоваться в качестве базовых при создании новых решений.

Примером достижения практических результатов в области развития концепций, заложенных в Фортран, можно считать создание Лисп. Данный язык был разработан в 1958 году, однако, широкую известность он приобрел несколько позже — в 1960-м. Лисп был разработан Джоном Маккарти и опубликован в одном из популярных журналов для IT-специалистов. Основное предназначение рассматриваемого языка — обработка списков. Лисп стал популярен в среде разработчиков систем искусственного интеллекта. На его основе были созданы такие языки, как Planner, Scheme, а также Common Lisp. Также Лисп оказал значительное влияние на многие современные инструменты разработки ПО. Структура языков программирования высокого уровня, популярных сегодня, в значительной степени базируется на алгоритмах Фортран и Лисп.

Интересно будет, однако, рассмотреть иные подходы к классификации рассматриваемых инструментов разработки средств ПО.

Универсальные высокоуровневые языки

Так, современные эксперты выделяют универсальные высокоуровневые языки. К ним относятся, в частности, те, что были разработаны в 60-е годы. Ключевые их характеристики:

- ориентация на широкий спектр задач (прежде всего, относящихся к вычислительным);

- большое количество языковых конструкций и алгоритмов;

- значимость не только для своего времени, но и для современного этапа развития компьютерной техники;

- поддержка в соответствующих языках императивной методологии.

Delphi программирование на языке высокого уровня

Универсальные языки — основополагающие в соответствующей отрасли IT-разработки. Можно отметить, что до сих пор они не имеют прямых аналогов в части внутренней структуры. Собственно, это во многом объясняет актуальность задействования соответствующих языков в современных объектно ориентированных интерфейсах. Также общее в отмеченных языках — тип данных. Этот фактор в значительной степени предопределяет их универсальность. В числе наиболее примечательных свойств языков, относящихся к категории универсальных — преемственность. Так, исторически более поздние языки, как правило, базировались на концепциях предшественников.

Уникальные языки

Некоторые IT-эксперты выделяют в самостоятельную категорию «уникальные языки». В числе таковых: APL, Cobol, Forth, SETL, а также CLU. Какова их специфика?

Важнейший аспект APL — задействование массивов (векторов и матриц) в качестве ключевого структурного типа. Специфика языка Cobol — в ориентированности на коммерческую сферу. Так, его целесообразно задействовать при решении задач, связанных со стандартизированным форматом представления результатов. Язык Forth характеризуется использованием постфиксной записи программ, а также задействованием стековой нотации. В языке SETL применяются совокупности значений в качестве одного из ключевых типов данных. Языком программирования высокого уровня является также CLU. Его основная особенность — задействование концепции работы с абстрактными типами данных. Многие IT-специалисты видят логичным появление новых решений, базирующихся на уникальных языках — таких как, например, Object-Oriented Cobol.

Основные синтаксические конструкции языка программирования высокого уровня

Средства параллельного программирования

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

- сопрограмм;

- разветвлений;

- объединений;

- параллельных скобок;

- алгоритмов работы с процессами.

Другое основание для классификации языков рассматриваемого типа — методы синхронизации процессов. Соответствующие решения могут, таким образом, включать:

- семафоры;

- мониторы;

- «рандеву»;

- критические участки;

- дистанционный вызов процедур;

- транзакции, относящиеся к категории атомарных.

К языкам рассматриваемого типа относятся Modula-2, BLISS, Concurrent Pascal, DP, Argus.

Семейство языков C

Выше мы рассмотрели в качестве примера языка высокоуровневого программирования такое решение, как C. По сути дела, оно формирует целое семейство. Языки, принадлежащие к нему, являются частными конструкциями C. Так, его дополнение различными объектно-ориентированными компонентами привело к разработке C++. После существенной фильтрации ряда конструкций C появился язык Java. Можно отметить, что Java создавался во многом под влиянием концепций проекта Oberon, которым руководит Никлаус Вирт, создатель языка Паскаль. Относится ли к высокоуровневым JavaScript? Безусловно, да, несмотря на узость применения — в качестве инструмента разработки веб-страниц. Но к языкам программирования высокого уровня не относятся, в частности, HTML, XML и SGML. Они классифицируются как инструменты разметки гипертекста.

Семейство языков Pascal

Языки программирования высокого уровня Pascal также образуют отдельное семейство. На базе Паскаль был, собственно, создан Oberon, классифицируемый как язык объектно-ориентированного типа. Ключевая особенность Oberon — в возможности обеспечения безопасности типов. Не считая Oberon, к языкам семейства Pascal можно отнести Modula-2, а также Component Pascal.

Семейство языков Ada

Основополагающий в соответствующей категории языков — заказанный под нужды Министерства обороны США Ada. Он был создан в конце 70-х — начале 80-х годов. Характеризуется большим количеством функций, возможностей, универсальностью. Семейство языков Ada включает такие решения, как Cedar, Modula 3.

Семейство языков Simula

Язык Simula распространен в отраслях программирования, связанных с имитационным моделированием. Специфика соответствующих решений — в задействовании специфического ядра. Его использование позволяет применять различные расширения, адаптированные к тем или иным сферам применения. На основе Simula были созданы объектно-ориентированный язык Smalltalk, а также BETA, характеризующийся способностью комбинировать в рамках единой абстракции алгоритмы, отражающие работу с данными, процедурами, а также управление. Объекты BETA могут рассматриваться в различном контексте, например, в качестве переменных, функций или параллельных систем.