Файл: Классификация языков программирования высокого уровня (Обзор и характеристика языков программирования высокого уровня).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше. Для перевода исходных программ с языка высокого уровня на машинный язык используются специальные программы - трансляторы. [5]

Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция. [5]

Интерпретация подразумевает пооператорную трансляцию и последующее выполнение оттранслированного оператора исходной программы. В связи с этим можно отметить два недостатка метода интерпретации: во-первых, интерпретирующая программа должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т. е. занимать определенный объем памяти; во- вторых, процесс трансляции одного и того же оператора повторяется столько раз, сколько раз должна исполняться эта команда в программе, что резко снижает производительность работы программы. [5]

Несмотря на указанные недостатки, трансляторы-интерпретаторы получили достаточное распространение, так как они удобны при разработке и отладке исходных программ. [5]

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

Компиляция программы включает два действия: анализ, т. е. определение правильности записи исходной программы в соответствии с правилами построения языковых конструкций входного языка, и синтез - генерирование эквивалентной программы в машинных кодах. [5]

Объектно-ориентированный язык создает окружение в виде множества независимых объектов. Каждый объект ведет себя подобно отдельному компьютеру, их можно использовать для решения задач как «черные ящики», не вникая во внутренние механизмы их функционирования. Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi и Visual Basic. [5]


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

При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не строит (по крайней мере, в идеале). В этих языках отсутствует понятие «оператор» («команда»). Декларативные языки можно подразделить на два семейства - логические (типичный представитель - Пролог) и функциональные (Лисп). [5]

В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разлагаются на еще более простые и т.д. Один из основных элементов в функциональных языках – рекурсия, т.е. вычисление значения функции через значение этой же функции от других элементов. Присваивания и циклов в классических функциональных языках нет. Представителями этой группы являются ЛИСП, ML и Haskell. [10]

В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается ПРОЛОГ. Построение логической программы вообще не требует алгоритмического мышления, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста. [10]

С развитием глобальной сети было создано много языков программирования, адаптированных специально для Интернета. Характерные особенности: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, сами программы - в исходных текстах. Такие языки называются скрипт- языками. [5]

Языки веб-программирования - это языки, которые в основном предназначены для работы с веб-технологиями. Языки вебпрограммирования можно условно разделить на две пересекающиеся группы: клиентские и серверные. [5]


Как следует из названия, программы на клиентских языках обрабатываются на стороне пользователя, как правило их выполняет браузер. Это и создает главную проблему клиентских языков - результат выполнения программы (скрипта) зависит от браузера пользователя. То есть если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному. С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы. Самыми распространенными клиентскими языками программирования являются [5]:

  • HTML
  • CSS
  • JavaScript
  • VBScript
  • ActionScript
  • Java

Серверные языки. Когда пользователь дает запрос на какую- либо страницу (переходит на неё по ссылке или вводит адрес в адресной строке своего браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML. [5]

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

К серверным языкам программирования можно отнести [5]:

  • PHP;
  • Perl;
  • Python;
  • Ruby;
  • любой .NET язык программирования (технология ASP.NET);
  • Java;
  • Groovy.

В первой главе были рассмотрены поколения создания языков программирования и их классификация.

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

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

  1. Фортран (FORmula TRANslating system - система трансляции формул) старейший и сегодня активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач. [5]

В 1954 г. группой разработчиков во главе с Джоном Бэкусом был создан язык программирования Фортран. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от Ассемблера, была концепция подпрограмм. Транслятор с Фортрана в машинные коды был весьма сложной программой, которая в отличие от современных трансляторов не выполняла контроль многих ошибок программиста. Кроме того, генерируемый машинный код был менее эффективен, чем если бы программа изначально писалась на Ассемблере. [10]

Со временем пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных. [10]

Фортран был задуман для использования в сфере научных и инженерно-технических вычислений. На этом языке легко описываются задачи с разветвленной логикой (моделирование производственных процессов, решение игровых ситуаций и т.д.), некоторые экономические задачи и особенно задачи редактирования (составление таблиц, сводок, ведомостей и т.д.). [10]

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

  1. Кобол. В 1960 г. был создан язык программирования Кобол (COBOL – Common Business-Oriented Language). Он задумывался как язык для создания коммерческих приложений. На КОБОЛе написаны тысячи прикладных коммерческих систем. Отличительной особенностью языка является возможность эффективной работы с большими массивами данных. Популярность Кобола столь высока, что даже сейчас, при всех его недостатках, появляются его новые диалекты и реализации. Например, недавно появилась реализация Кобола для Microsoft.NET. [5]

О программах на Коболе, основанных на широком использовании английского языка, говорят, что они понятны даже тем, кто не владеет Коболом, поскольку тексты на этом языке программирования не нуждаются в каких-либо специальных комментариях. Такие программы принято называть самодокументирующимися. [4]


К числу других плюсов Кобола относят его структурированность. Довольно мощные компиляторы с этого языка разработаны для персональных компьютеров. Некоторые из них столь эффективны, что программу, отлаженную на персональном компьютере, нетрудно перенести на большие ЭВМ. [4]

Перечисляя недостатки языка, нельзя не вспомнить о том, что на Коболе можно запрограммировать лишь простейшие алгебраические вычисления. Для инженерных расчетов этот язык не годится. [4]

Еще одной причиной, сдерживающей развитие языка, является наличие в США отраслевого комитета, вырабатывающего стандарты, за соблюдением которых следит правительственная комиссия. Как это всегда бывает в подобных случаях, фирмы, занимающиеся разработкой программного обеспечения, не торопятся подгонять свои заготовки к жестким требованиям комиссии, отсутствует конкуренция, а в итоге проигрывает распространение языка. [4]

  1. ПЛ/1. В 1964 г. в корпорации IBM был создан язык ПЛ/1 (PL/1 – Programming Language 1), который был призван заменить Кобол и Фортран в большинстве приложений. Язык обладал исключительным богатством синтаксических конструкций. Однако язык оказался крайне сложным для написания и в особенности отладки программ, поэтому так и не приобрел широкую популярность.
  2. Бейсик (Beginner's All-purpose Symbolic Instruction Code - универсальный символический код инструкций для начинающих) несмотря на многие недостатки и изобилие плохо совместимых версий - самый популярный по числу пользователей. Широко употребляется при написании простых программ. [5]

Был разработан язык программирования Бейсик в 1963 г. в Дартмутском колледже. Язык задумывался в первую очередь как средство первоначального обучения программированию. Бейсик действительно стал языком, на котором учились программировать несколько поколений. Бейсик был также доступен на ПК, обычно он встроен в ПЗУ. Так Бейсик завоевал популярность. Он и сегодня самый простой для освоения из десятков языков общецелевого программирования. Было создано несколько мощных реализаций БЕЙСИКа, поддерживающих самые современные концепции программирования (ярчайший пример – Microsoft Visual Basic). [10]

  1. Алгол. В 1960 г. командой во главе с Петером Науром был создан язык программирования Алгол (ALGOL – Algorithmic Language). Этот язык дал начало целому семейству алголоподобных языков (важнейший представитель – Паскаль). В 1968 г. появилась новая версия языка. Она не нашла столь широкого практического применения, как первая версия, но была весьма популярна в кругах теоретиков.