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

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

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

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

Добавлен: 16.05.2023

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

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

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

Основными достоинствами Бейсика являются, простой синтаксис, который позволяет в минимальные сроки освоить этот язык программирования, простота реализации графического интерфейса, возможность использования WinAPI функций, что значительно расширяет возможности языка.

Одним из основных недостатков языка является то, что он поддерживает только операционные системы семейства Windows, DOS и Mac OS X, что значительно сужает сферы его применения. Также к недостаткам можно отнести низкую скорость работы и отсутствие механизма наследования реализации объектов.

в) язык Си (С).

[C (рус. Си) - компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би.][51] Был разработан для реализации операционной системы UNIX, но, в последствии, был перенесён на множество других платформ. [Согласно дизайну языка Си, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном ПО для множества устройств — от суперкомпьютеров до встраиваемых систем.][52] Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.

[К 1973 году язык Си стал достаточно силён, и большая часть ядра UNIX, первоначально написанная на ассемблере PDP-11/20, была переписана на Си. Это было одно из самых первых ядер операционных систем, написанное на языке, отличном от ассемблера; более ранними были лишь системы Multics (написана на ПЛ/1) и TRIPOS (написана на BCPL).][53]

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

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

г) язык С++.

[C++ -компилируемый, статически типизированный язык программирования общего назначения.][54]


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

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных современных языков программирования. У него широкая область применения, которая включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Широко применим для коммерческого использования. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

Синтаксис C++ унаследован от языка C, с которым сохранилась совместимость. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.

Разрабатывая C с классами, его автор Страуструп написал программу cfront- транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Это позволило работать над новым языком и использовать его на практике, применяя уже имеющуюся в UNIX инфраструктуру для разработки на C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп и его засыпали вопросами, что уже не мог лично поддерживать его. [К 1983 году в язык были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Получившийся язык уже перестал быть просто дополненной версией классического C и был переименован из C с классами в «C++». ] [56]Его первый коммерческий выпуск состоялся в октябре 1985 года.


До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. Функцию стандартных описаний языка выполняли написанные Страуструпом печатные работы по C++ (описание языка, справочное руководство и так далее). Лишь в 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году - следующая версия этого стандарта - ISO/IEC 14882:2003.

д) язык Паскаль (Pascal).

[Паска́ль (англ. Pascal) - один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда других языков.][57]

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

Самая первая версия была создана в 1968 году профессором кафедры вычислительной техники Швейцарского федерального института технологии Никласом Виртом. [Основной целью, при создании нового языка, является его простота, с сохранением всех достоинств уже имеющихся языков высокого уровня программирования.][58]

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

В отличие от языка С (С++) в при использовании Паскаль сведены к минимуму возможные синтаксические неоднозначности, синтаксис языка является понятным и доступным.

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

а) язык Лисп.

[Лисп (LISP, от англ. LISt Processing language - «язык обработки списков»; современное написание: Lisp) - семейство языков программирования, программы и данные в которых представляются системами линейных списков символов.][60] Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта (ИИ) и созданный им язык по сию пору является одним из основных средств моделирования искуственного интеллекта.


Традиционный Лисп имеет динамическую систему типов. [Язык является функциональным, но начиная уже с ранних версий обладает также чертами императивности, к тому же, имея полноценные средства символьной обработки, позволяет реализовать объектно-ориентированность; примером такой реализации является платформа CLOS.][61]

Является языком системного программирования для так называемых лисп-машин, производившихся в 1980-е годы, например, фирмой Symbolics.

Автором Лиспа является Джон Маккарти, работавший в Массачусетском технологическом институте (MIT) в должности профессора по связи. Вместе с Марвином Мински он занимался работами по искусственному интеллекту.

[Основой для Лиспа послужил ранний язык IPL, разработанный Ньюэллом, Шоу и Саймоном. IPL был языком обработки списков и предназначался для реализации проекта «Логик-теоретик» - системы искусственного интеллекта, предназначенной для автоматического вывода теорем математической логики.][62]

[Первоначально Маккарти сформулировал списочный формализм для описания данных (S-выражения) и основанный на нём же механизм описания лямбда-выражений, что позволило записывать программы в виде наборов функций, представленных в списочной форме.][63]

Считается одним из старейших высокоуровневых языков программирования. Часто применяется при разработке экспертных систем и систем аналитических вычислений. Современные версии этого языка активно применяются при разработке новейших web-технологий. [Также модификации данного языка используются в качестве встроенных языков программирования в САПР. Примером может послужить AutoLISP - язык для разработки надстроек в продуктах компании AutoDesk.][64]

б) язык Пролог.

[Пролог (англ. Prolog) - язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.][65]

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


[Prolog является декларативным языком программирования: логика программы выражается в терминах отношений, представленных в виде фактов и правил.][66] Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которых используется система логического программирования, генерирующая ответы «истина» и «ложь».

[Начало истории языка относится к 1970-м годам. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом поиска с возвратом и унификацией.][67]

Язык Пролог в 1980-х годах был включен в ряд советских вузовских и школьных учебников информатики для изучения элементов математической логики, принципов логического программирования и проектирования баз знаний и моделей экспертных систем. Для этого на IBM PC и ряде советских школьных компьютеров были реализованы учебные русскоязычные интерпретаторы Пролога..

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

Большинство объектно-ориентированных языков являются версиями процедурно-ориентированных и проблемно-ориентированных.

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

а) Delphi (Lazarus некоммерческая - версия для ОС семейства Linux) - основана на Object Pascal;

б) C++, С# (~ C);

в) Visual Basic (~ Basic);

г) Visual Fortran (~ Fortran);

д) Prolog++ (~ Prolog).

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

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

[Языки программирования высокого уровня подразделяют на:

  1. процедурно-ориентированные;
  2. проблемно-ориентированные;
  3. объектно-ориентированные.][68]

Процедурно-ориентированные языки программирования относятся к машинно-независимым. Они являются основными языками описания алгоритмов и имеются в математическом обеспечении по существу всех современных вычислительных машин. Операционная система EG ЭВМ позволяет использовать при программировании такие языки, как Алгол, Фортран, Кобол и ПЛ / 1, относящиеся к этой группе. [Эти языки программирования могут лишь косвенно отражать содержание будущей реализации, используя специфические синтаксические конструкции для описания порядка преобразований. ][69]