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

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

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

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

Добавлен: 30.03.2023

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Лисп. Язык программирования Lisp - это целое множество языков программирования, код программ в которых, также как и данные, представляются системами линейных списков символов. Язык программирования Lisp считается вторым в истории высокоуровневым языком программирования после Фортрана, а так же он применяется до сих пор. Но его так же не обошли стороной изменения, на сегодняшний день наиболее широкую известность приобрели диалекты «Common Lisp» и «Scheme». Изначально Язык программирования Lisp применялся для символьной обработки данных, а также в областях, которые связаны с процессами принятия решений, а данный же момент, пожалуй, самый популярный на сегодня диалект можно назвать универсальным языком программирования. Он активно применяется для решения самых разнообразных задач.
  2. Пролог. Язык программирования Пролог – это язык и система логического программирования, который основан на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. В основные понятия языка Пролог входят факты, правила логического вывода и запросы, которые предоставляют возможность описывать базы знаний, процедуры логического вывода и принятия решений. Факты в языке Пролог описываются логическими предикатами с конкретными значениями. По своей природе язык Пролог - уникален, так как это единственный язык, представляющий парадигму декларативного программирования. Так же он обладает сотнями различных имплементаций, но они все равно называются Prolog, добавляя лишь префиксы и суффиксы к названию. Пролог - это живой язык, в котором не происходит никаких существенных изменений более 20 лет.[14]
  3. ЛОГО. Язык программирования Лого - это язык программирования, который был разработан в 1967 году в Лаборатории Искусственного Интеллекта Массачусетского технологического института, профессором Сеймуром Папертом, специально для развития мышления, творческих и исследовательских способностей детей и подростков.

Неотъемлемой частью языка Лого и ее среды программирования являются средства черепашьей графики, которые, с одной стороны, предоставляют возможность придать наглядность обучению программированию, а с другой стороны очень органично сочетаются с широким использованием рекурсии. Вместе с тем, ЛОГО позволяет работать и с серьезными алгоритмическими конструкциями (цикл, ветвление, списки).

  1. Java. Язык программирования Java является объектно-ориентированным языком программирования, который был разработан компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Программирование на Java обладает тем преимуществом, что код, написанный на данном языке программирования, переводится с помощью соответствующей программы-транслятора в так называемый байт-код, а он, в свою очередь, — в машинный код с помощью виртуальной машины Java. Поэтому написанная на Java программа выполняема на любом компьютере с любой системой, лишь бы на нем была установлена виртуальная машина Java. Таким образом, и обеспечивается одно из главных преимуществ языка Java — переносимость создаваемых на нем программ на компьютеры разных типов.
  2. Алгол. Язык программирования Алгол – это название семейства императивных языков программирования, которые применяются при составлении программ для решения научно-технических задач на ЭВМ. Алгол был первым языком программирования, использующим пары begin end для выделения блоков выражений. Язык программирования Алгол прошел долгий путь, и необходимо заметить, что, не смотря на повсеместное использование языка в европейских странах, в США он не нашел широкого распространения, что прежде всего, объясняется коммерческими соображениями: пользователи, затратив значительные средства на ФОРТРАНовское программное обеспечение, стали противниками каких-либо изменений в своей программистской практике.

В заключение данной главы необходимо сделать вывод о том, что наилучшего языка не существует, и, если пользователь собирается стать профессионалом в написании программ, ему в первую очередь необходимо анализировать один из языков программирования высокого уровня, к примеру, один из наиболее популярных языков - C++, а также один из языков программирования баз данных, к примеру, SQL. И после изучения языка программирования C++, уже можно быть уверенным что, пользователь всегда сможет найти работу в любой компании, которая занимается программированием. С профессиональной точки зрения не так важно, на каком языке, и в какой среде работает программист, сколько как он выполняет свою работу, так как аппаратура и операционные системы меняются, появляются новые задачи из самых различных предметных областей, уходят в прошлое и появляются новые языки, но остаются люди - те, кто пишет и те, для кого пишут новые программы, и чьи требования к качеству остаются теми же вне зависимости от этих изменений.

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

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

Слово процедура является здесь ключевым элементом. Оно означает набор процедур, который представляет собой набор подпрограмм или набор функций. Мы все знаем о функциях в языке C. C это процедурно-ориентированный язык. В Процедурно-ориентированных языках основное внимание уделяется функциям или подпрограммам. Функции содержат набор команд, выполняющих определенную задачу. Функции в программе вызываются повторно для выполнения определенных задач. Например, программа может включать в себя сбор данных от пользователя (чтение), выполнения какого-то рода расчетов, собранных данных (вычисление) и отображения результатов по запросу пользователя (вывод). Все эти три задачи, чтение, вычисление и вывод результатов, могут быть написаны в программе с помощью трех различных функций, выполняющих три различные задачи.[15] Структура методики Процедурно-ориентированного языка программирования представлен на рисунке 1.


Рис. 1. Структура методики процедурно-ориентированного языка программирования

Проблема при применении процедурно-ориентированного языка программирования заключается в обработке данных. В процедурно-ориентированном языке программирования данным не придается никакого значения. Под данными мы понимаем информацию, полученную от пользователя, новые результаты, полученные после вычислений, и т.д. Если вы знакомы с программированием на C, то можете вспомнить классы памяти (storage classes) этого языка. В C элемент данных (переменная) должен быть объявлен как GLOBAL для того, чтобы он мог быть доступен двум или более функциям программы. Что происходит, когда 2 или более функций работают с одним и тем же элементом данных? Если в программе насчитывается 10 функций, то все эти 10 функций могут получить доступ к глобальной переменной. 

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

Одной из наиболее важных особенностей языка C являются структуры. Тот, кто знаком с этим языком, вспомнит, что структуры в C объявляются с помощью ключевого слова struct. Структуры позволяют упаковать вместе разные типы данных в единое целое. Программист может упаковать целочисленные данные, числа с плавающей точкой (float), массивы и прочие виды данных в единый объект с помощью структуры. Способ программирования с помощью структур был впервые введен в языке C, и это послужило основной причиной столь широкой популярности данного языка. И какова же истинная причина этого? Структура достаточно хорошо моделирует требования реального мира в компьютерной программе. Проблемой, связанной со структурами, было то, что она работала только с данными. Структура не позволяет упаковать вместе связанные функции наряду с данными. Все функции, манипулирующие с элементами данных внутри структуры должны быть написаны отдельно внутри программы. По этой причине программа на C имеет большую зависимость от функций.[17]

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


Среди наиболее популярных процедурно- ориентированных языков можно выделить:

1) язык Фортран (Fortran), название которого переводится как Formulae Translation — «преобразование формул»;

2) язык Бейсик (Basic), чье название расшифровывается как «Beginner's All-purpose Symbolic Instruction Code» (BASIC) — «многоцелевой символический обучающий код для начинающих», был создан в 1964 г. как язык для обучения программированию. Бейсик по своим возможностям не уступает Фортрану, а по некоторым параметрам даже превосходит его;

3) язык Си (С), созданный в 1970-е гг. сотрудником лаборатории Bell Labs Д. Ритчи. Си разрабатывался как специальный язык системного программирования для написания операционной системы UNIX (первоначально реализованной на ассемблере);

4) язык Паскаль (Pascal), названный в честь французского ученого Б. Паскаля, был разработан в 1968—1971 гг. Н. Виртом. Изначально Паскаль создавался для обучения программированию, однако в дальнейшем стал широко использоваться для разработки программных средств профессиональными программистами.

Данные языки программирования были подробно рассмотрены в пункте 1.3 курсовой работы.

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

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

1. Язык ЛИСП (Lisp — List Information SymbolProcessing), который был изобретен в 1962 г. Дж. Маккарти. Благодаря ЛИСПу возникла совершенно новая для программистов область деятельности — «искусственный интеллект». В настоящее время ЛИСП применяется в экспертных системах, системах аналитических вычислений и т.п.;

2. Язык Пролог (Prolog — Programming in Logic),возникший как язык логического программирования для систем искусственного интеллекта. В основе Пролога лежат средства логического вывода, решающие запросы с использованием заданной базы фактов и правил, к которым обращаются как к утверждениям. Концепция объектно-ориентированного программирования основывается на том, что в основе управления процессом реализации программы лежит передача сообщений объектам.[18]


Исходя из этого можно определить следующие характерные свойства объектно-ориентированных языков программирования:

1. Свойство абстракции, т.е. наличия формального представления о качествах или свойствах предмета путем мысленного удаления некоторых частностей или материальных объектов;

2. Свойство инкапсуляции, т.е. наличия механизма, связывающего вместе код и данные, которыми он манипулирует, и защищающего их от внешних помех и некорректного использования;

3. Свойство наследования, т.е. наличия процесса, с помощью которого один объект приобретает свойства другого, т.е. свойства иерархической классификации;

4. Свойство полиморфизма, т.е. наличия возможности использовать один и тот же интерфейс для общего класса действий.[19]

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

Этот путь оказался перспективным, и с 1954 г. начали появляться языки программирования, более близкие к естественному человеческому языку, на котором описываются задачи. Такие языки предоставляют программисту удобные средства для записи программ, не зависящие от того, на какой машине будут затем выполняться программы, и поэтому называются проблемно-ориентированными языками программирования, или, как еще говорят, языками высокого уровня.

С расширением сферы применения ЭВМ потребность в программах резко возросла. Возникла необходимость в автоматизации процесса программирования. Появились более удобные и менее трудоемкие проблемно-ориентированные языки программирования и средства перевода (трансляции) утверждений этих языков в язык машины.

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

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