Файл: Классификация языков программирования высокого уровня (Анализ понятия «язык программирования»).pdf
Добавлен: 30.03.2023
Просмотров: 309
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Языки программирования высокого уровня
1.1 Анализ понятия «язык программирования высокого уровня»
1.2. История развития языков программирования
Глава 2. Типы языков программирования высокого уровня и способы их реализации
2.1 Основные типы языков программирования высокого уровня
2.2 Способы реализации языков программирования
Язык Фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это понимали и сами разработчики языка. По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.
Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Программистов пугало снижение эффективности программ за счет использования промежуточного звена в виде компилятора. И эти опасения имели под собой основания: действительно, хороший программист, скорее всего, при решении какой-либо небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный как результат компиляции. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
К его основным достоинствам относится наличие огромного числа математических библиотек, поддержка работы с целыми, вещественными и комплексными числами высокой точности встроенных средств обработки массивов[14].
К недостаткам можно отнести отсутствие средств отладки и анализа поведения программы, сложность понимания исходного кода. По сути, на данный момент Фортран является узкоспециализированным языком, применяемым для научных и инженерных вычислений.
2) Язык Бейсик (Basic). Язык программирования высокого уровня, разработанный в 1963 - 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени.
Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. Некоторые реализации Бейсика включают средства обработки данных и наборов данных.
Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий.
Основными достоинствами этого языка являются, простой синтаксис, который позволяет в кратчайшие сроки освоить этот язык программирования, простота реализации графического интерфейса, возможность использования WinAPI функций, что значительно расширяет возможности языка.
Одним из основных недостатков языка является то, что он поддерживает только операционные системы семейства Windows, DOS и Mac OS X, что значительно сужает сферы его применения. Также к недостаткам можно отнести низкую скорость работы и отсутствие механизма наследования реализации объектов.
3) Язык Си (С). Многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на миниЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе - Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft), а также Zortech C (фирмы Symantec). В 1980-е гг. язык С был дополнен инструментами объектно-ориентированного программирования и на основе него был создан язык C++. Многие из указанных версий обеспечивают также работу с Си и Си++.
Объектно-ориентированное программирование существенно повышает производительность разработчиков по сравнению с традиционными методами. Объектно-ориентированные программы легче понимать, корректировать и модифицировать. С++ - это гибридный язык, он предоставляет возможность программировать и в стиле Си, и в объектно-ориентированном стиле, и в обоих стилях сразу[15].
Одним из главных достоинств является кроссплатформенность, а также минимальные аппаратные требования для запуска скомпилированных программ, широкий набор средств для реализации как прикладных, так и системных задач.
К недостаткам языка можно отнести отсутствие четкой стандартизации. В ходе исторического развития языка его элементы зачастую заимствовались из других языков, вне зависимости от наличия других элементов. Это привело к наличию дублирующих и иногда противоречащих друг другу элементов. Данные аспекты привели к тому, что язык стал чрезвычайно сложным для восприятия.
На данный момент язык C++ является одним из самых популярных и универсальных языков разработки. Знание языка C++ помогает также в освоении других языков, т.к. многие из них базируются на нём.
4) Язык Паскаль (Pascal). Был создан математиком Н. Виртом специально для обучения программированию. Однако со временем стал широко применяться для разработки программных средств в профессиональном программировании.
Самая первая версия была создана в 1968 году профессором кафедры вычислительной техники Швейцарского федерального института технологии Никласом Виртом[16]. Основной целью, при создании нового языка, является его простота, с сохранением всех достоинств уже имеющихся языков высокого уровня программирования.
Популярность созданного языка стала столь высокой, что уже к 1980 году насчитывалось более восьми десятков его трансляторов. В начале 80-х годов язык программирования Паскаль еще более усилил свои позиции после создания трансляторов Turbo-Pascal для персональных компьютеров. С этого момента язык смело вышел за рамки узкого использования программистами-профессионалами. Он начал использоваться как рабочий инструмент пользователей и как средство обучения языков программирования.
Одним из главных достоинств языка Паскаль является четкая структуризация, удобная среда разработки и отладки, позволяющая пользователю обнаружить логические и синтаксические ошибки в программе. Также к достоинствам можно отнести высокую скорость компиляции программ, возможность использования вставок языка Ассемблер.
Язык Паскаль взят за основу в курсе программирования для школьников – это своего рода азбука для тех, кто впервые сталкивается с этой областью. Он достаточно легок и прост в изучении, и вместе с тем обладает всеми признаками классического языка программирования и позволяет научиться правилам хорошего тона и стиля в программировании. Познакомившись с языком программирования Паскаль, ребята смогут смело изучать более серьезные языки: Python, Java, PHP, С++ или даже С#. Для успешного освоения этого языка программирования никаких особенных навыков не требуется, нужны только базовые знания компьютера.
В отличие от языка С (С++) при использовании Паскаль сведены к минимуму возможные синтаксические неоднозначности, синтаксис языка является интуитивно понятным и доступным, поскольку, как уже было отмечено выше, язык изначально разрабатывался для обучения студентов программированию.
К недостаткам первоначально разработанного компилятора можно бы отнести ряд ограничений: невозможность передачи функциям массивов переменной длины, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках и раздельной компиляции.
Несмотря на долгую историю, Паскаль является динамично развивающимся языком программирования высокого уровня. Современные версии компилятора ликвидировали большинство перечисленных выше недостатков.
Рассмотрим особенности языков другого класса. Основным достоинством проблемно-ориентированных языков программирования является минимизация трудозатрат программиста при решении задач, принадлежащих некоторому четко выделяемому классу. К проблемно-ориентированным относят следующие языки программирования:
1) Язык Лисп. Считается вторым после Фортрана старейшим высокоуровневым языком программирования. Данный язык наиболее часто применяется при разработке экспертных систем и систем аналитических вычислений. Существуют современные версии этого языка, которые активно применяются при разработке новейших web-технологий. Также модификации данного языка используются в качестве встроенных языков программирования в САПР. Примером может послужить AutoLISP - язык для разработки надстроек в продуктах компании AutoDesk.
2) Язык Пролог. язык программирования высокого уровня, предназначенный для разработки систем и программ искусственного интеллекта. Пролог принят в качестве основного языка в японских ЭВМ пятого поколения. Относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.0[17].
Написание программ на языке Пролог существенно отличается от использования других языков программирования. Программа на Прологе не является реализацией некоторого алгоритма, а представляет собой запись на языке формальной логики. Таким образом, данный язык относится к описательным языкам программирования.
Таким образом, сферой применения данного языка является решение логических задач. Для создания вычислительных, графически задач, реализации пользовательского интерфейса данный язык не предназначен.
3) Язык Кобол был разработан специально для решения экономических задач. Язык позволяет эффективно работать с большим количеством данных, он насыщен разнообразными возможностями поиска, сортировки и распределения. Наиболее удачной версией языка Кобол на сегодняшний день является Кобол/U, в который встроены средства генерации отчетов с использованием языка РПГ.
4) Язык PL/1 разработан в 1964-1965 годах фирмой IBM. PL /1 относится к числу универсальных языков, т. е. позволяет решать задачи из разных областей: численные расчеты, текстовая обработка, экономические задачи и т. д. По своим возможностям он перекрывает такие языки, как Фортран, Алгол-60 и Кобол, хотя в силу ряда причин вытеснить эти языки PL /1 не смог[18].
5) Язык Лого создан с целью обучения школьников основам алгоритмического мышления и программирования. Это диалоговый процедурный язык, реализованный на основе интерпретатора с возможностью работы со списками и на их основе с текстами и оснащенный развитыми графическими средствами, доступными для детского восприятия.
6) Язык РПГ, или генератор отчетов, включает многие понятия и выражения, связанные с машинными методами составления отчетов и проектирования форм выходных документов. Он имеет ограниченную область применения и используется главным образом для печати отчетов, записанных в одном или нескольких файлах базы данных.
7) Форт своеобразный язык: он сочетает в себе свойства операционной системы, интерпретатора и компилятора одновременно. Программирование на этом языке требует специальных навыков, поэтому Форт находит применение при решении сложных задач имитационного моделирования, в графических системах, в системах искусственного интеллекта как средство построения баз знаний, в промышленных разработках.
8) Язык Смолток предназначен для решения нечисловых задач и находит широкое применение при проектировании систем искусственного интеллекта. Программа на этом языке состоит из множества функциональных автономных объектов и средств взаимодействия между ними. Каждый объект содержит некоторую структуру данных и процедуры манипулирования ими. В современных реализациях языка Смолток широко используется многооконный режим.
9) Язык СНОБОЛ располагает мощными средствами манипулирования строками и сравнения с образцом. В основном он используется для обработки текстов на естественном языке и применяется в экспертных системах. Известны некоторые версии языка СНОБОЛ, реализованные для ПК, но его применение ограничено сферой искусственного интеллекта[19]
Большинство объектно-ориентированных языков являются версиями процедурно-ориентированных и проблемно-ориентированных.
В настоящий момент наиболее активно используются и развиваются следующие среды программирования: