Файл: «Классификация языков программирования высокого уровня» ..pdf
Добавлен: 16.05.2023
Просмотров: 456
Скачиваний: 3
СОДЕРЖАНИЕ
Глава 1. История развития языков программирования и их классификация
1.1. История развития языков программирования
1.2. Классификация языков программирования
1.3.Эволюция языков программирования
Глава 2.Обзор и анализ особенностей применения языков программирования высокого уровня
Глава 3. Классификация языков программирования высокого уровня
[Языки второго поколения (2GL) создавались для того, чтобы облегчить тяжёлую работу по программированию, перейдя в выражениях языка от низкоуровневых машинных понятий ближе к тому, как обычно мыслит программист.][35] Эти языки появились в 1950-е годы, например, такие языки как Фортран и Алгол. Наиболее важной проблемой, с которыми столкнулись разработчики языков второго поколения, стала задача убедить клиентов в том, что созданный компилятором код выполняется достаточно хорошо, чтобы оправдать отказ от программирования на ассемблере. [Скептицизм по поводу возможности создания эффективных программ с помощью автоматических компиляторов был довольно распространён, поэтому разработчикам таких систем должны были продемонстрировать, что они действительно могут генерировать почти такой же эффективный код, как и при ручном кодировании, причём практически для любой исходной задачи.][36]
Третье поколение языков программирования начинается с появления в 1956 г. первого языка высокого уровня — Fortran, разработанного под руководством Дж. Бэкуса в фирме IBM. За короткое время Fortran становится основным при решении инженерно-технических и научных задач. Первоначально Fortran обладал весьма ограниченными средствами обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное развитие языка сделало его одним из самых распространенных. Под третьим поколением (3GL) первоначально понимались все языки более высокого уровня, чем ассемблер. [Главной отличительной чертой языков третьего поколения стала независимость от аппаратного обеспечения, то есть выражение алгоритма в форме, не зависящей от конкретных характеристик машины, на которой он будет исполняться.][37] Код, написанный на языке третьего поколения, перед исполнением транслируется либо непосредственно в машинные команды, либо в код на ассемблере и затем уже ассемблируется. При компиляции, в отличие от предыдущих поколений, уже нет соответствия один-к-одному между инструкциями программы и генерируемым кодом.
Третьим направлением развития языков четвертого поколения можно считать языки запросов, позволяющих пользователю получать информацию из баз данных. Языки запросов имеют свой особый синтаксис, который должен соблюдаться, как и в традиционных ЯП третьего поколения, но при этом проще в использовании. Среди языков запросов фактическим стандартом стал язык SQL (Structured Query Language).
[Термин языки программирования четвёртого поколения (4GL) лучше представлять как среды разработки четвёртого поколения. Они относятся к временному периоду с 1970-х по начало 1990-х.][38]
Языки этого поколения предназначены для реализации крупных проектов, что повышает их надежность и скорость создания. Они ориентированы на специализированные области применения, и используют не универсальные, а объектно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. В этих языках встроены мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода.
[Четвертым направлением развития являются языки параллельного программирования (модификация ЯВУ Fortran, языки Occam, SISAL, FP и др.), которые ориентированы на создание программного обеспечения для вычислительных средств параллельной архитектуры (многомашинные, мультипроцессорные среды и др.), в отличие от языков третьего поколения, ориентированных на традиционную однопроцессорную архитектуру.][39]
Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Основная идея была заключена в возможности автоматического формирования результирующего текста на универсальных языках программирования (который необходимо откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.
К интенсивно развивающемуся в настоящее время пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertList, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные ЯП с ограниченными возможностями - Clout, Q&A, HAL и др.).
Языки 5GL, ориентированные на конкретные области применения, уже в ближайшее время могут завоевать самую широкую популярность. Это относится прежде всего к продуктам, позволяющим создавать приложения для работы с базами данных - области информатики, наиболее успешно поддающейся формализации. Наглядное подтверждение этому - тенденции развития практически всех известных СУБД корпоративного уровня.
Подводя итог данному периоду развития языков программирования, можно сделать вывод, что языки программирования высокого уровня (FORTRAN, ALGOL, LISP,COBOL и т.д. ) не похожи на язык ассемблера. [Языки высокого уровня разработаны специально для того, чтобы можно было иметь дело непосредственно с задачей, решаемой программой.][40] Так как данные языки описывают процедуру, то они иногда называются процедурными языками. Языки высокого уровня машинно-независимы. Программы, написанные на языке ассемблера непосредственно относятся к той машине, на которой они должны выполняться.
[Достоинства языков программирования высокого уровня:
1. Алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;
2. Набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
3. Конструкции операторов задаются в удобном для человека виде;
4. Поддерживается широкий набор типов данных.][41]
Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.
Таким образом, в первой главе рассмотрена история создания языков программирования от самых простых с самым сложным современным языкам, показана их эволюция и дана классификация.
Глава 2.Обзор и анализ особенностей применения языков программирования высокого уровня
Языки программирования высокого уровня используют в аппаратно-независимых системах программирования.
Каждый из указанных ниже языков программирования применяется для решения определенного рода задач.
К первому классу языков, который используется для записи процедур или алгоритмов обработки информации относят:
а) язык Фортран (Fortran). Является одним из первых языков программирования высокого уровня.
Это первый компилируемый язык, его автор Джим Бэкус, который создал его в 50-е годы. [Программисты, разрабатывавшие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода.][42] В Фортране впервые был реализован ряд важнейших понятий программирования, целью было получение эффективного машинного кода, но было потеряно удобство написания программ. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана.
[Название Fortran является сокращением от FORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана - большое количество написанных на нём программ и библиотек подпрограмм.][43]
На Фортране (в большей части на старых версиях языка) создано большое количество различных математических библиотек для матричной алгебры и решения систем линейных уравнений, библиотеки для решения дифференциальных уравнений, интегральных уравнений и их систем, аппроксимации функций, специальных функций, быстрых преобразований Фурье, математической статистики, и других математических дисциплин.
[Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования, для новых вычислительных архитектур; позволяет применять современные технологии программирования, в частности, обобщённое и модульное программирование, ООП, сохраняя, при этом, преемственность с более ранними версиями.][44] Одной из наиболее главных концепций развития современного Фортрана - средства поддержки параллельности и векторные операции.
[К его основным достоинствам относится наличие огромного числа математических библиотек, поддержка работы с целыми, вещественными и комплексными числами высокой точности, встроенных средств обработки массивов.][45]
К недостаткам можно отнести отсутствие средств отладки и анализа поведения программы, сложность понимания исходного кода. По сути, на данный момент Фортран является узкоспециализированным языком, применяемым для научных и инженерных вычислений.
б) язык Бейсик (Basic).
[Бейсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code - универсальный код символических инструкций для начинающих) - семейство высокоуровневых языков программирования.][46]
Был разработан в 1964 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.
[Язык создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения своих задач.][47] Бейсик получил широкое распространение в виде различных диалектов, прежде всего как язык для домашних компьютеров. На сегодняшний день претерпел существенные изменения, значительно уйдя от характерной для первых версий простоты, граничащей с примитивизмом, и превратившись в достаточно ординарный язык высокого уровня с типичным набором возможностей. Применяется как самостоятельный язык для разработки прикладных программ, в основном работающих под управлением ОС Windows различных версий. Бейсик широко распространён в качестве встроенного языка прикладных программных систем различного назначения и в качестве языка для программируемых калькуляторов.
[Бейсик был спроектирован так, чтобы студенты могли без затруднений писать программы, используя терминалы с разделением времени. Он предназначался для более «простых» пользователей, не столько заинтересованных в скорости исполнения программ, сколько просто в возможности использовать компьютер для решения своих задач, не имея специальной подготовки.][48]
При проектировании языка использовались следующие восемь принципов. [Новый язык должен был:
- быть простым в использовании для начинающих;
- быть языком программирования общего назначения;
- предоставлять возможность расширения функциональности, доступную опытным программистам;
- быть интерактивным;
- предоставлять ясные сообщения об ошибках;
- быстро работать на небольших программах;
- не требовать понимания работы аппаратного обеспечения;
- защищать пользователя от операционной системы.][49]
Язык был основан частично на Фортране II и на Алголе 60, с добавлениями, позволяющими ему быть удобным для работы в режиме разделения времени и, позднее, обработки текста и матричной арифметики. [Первоначально Бейсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов.][50]