Файл: Классификация языков программирования высокого уровня, история возникновения.pdf
Добавлен: 14.05.2023
Просмотров: 243
Скачиваний: 2
СОДЕРЖАНИЕ
Глава I. История и предпосылки возникновения языков программирования высокого уровня
Глава II. Теоретический аспект понятия и классификация языков программирования высокого уровня
2.1. Понятие и классификация языков программирования высокого уровня
2.2. Достоинство и недостатки некоторых языков программирования высокого уровня
Глава III. Анализ классификации языков программирования высокого уровня на современном этапе
Группа разработчиков ALGOL: John McCarthy, Fritz Bauer, Joe Wegstein John Backus, Peter Nauer, Alan Perlis.
Джон Бэкус и Питер Наур разработали формальный метод описания языков программирования, приобретший популярность благодаря Алгол: любой учебник по этому языку включал описание на BNF
Другие языки
Сегодня трудно сказать с полной уверенностью, что работы Хомского действительно серьезно повлияли на развитие языков программирования, но одно явное следствие, безусловно, есть — это нотация Бэкуса-Наура [8].
Создание АЛГОЛа – формирование парадигмы программирования
В 1960 году Дж. Шварц и др. из фирмы System Development разрабатывают язык программирования Jovial (Джовиал). Название происходит от Jule's Own Version of International Algorithmic Language.
Процедурный язык высокого уровня - прототип Алгола-58.
Использовался главным образом для военных приложений ВВС США.
Язык JOVIAL был создан Джулиусом Шварцем на IAL. Отсюда и аббревиатура JOVIAL (Jules Own Version of the International Algorithmic Language).
Долголетие это языка объясняется тем, что еще в 70-е годы Пентагон пришел к разумному решению о принятии стандарта на систему команд и архитектуру 16-разрядного микропроцессора для бортовых систем (кстати, стандарт MIL-STD-1750 действует в армии США по сей день) [3].
В качестве стандартного языка был избран JOVIAL, поскольку Шварц заложил в него возможность создания кросс-платформенных программ, способных работать в реальном режиме времени.
В структуре JOVIAL-машины имеются возможности оптимизации кода для переноса программ с компьютера, на котором ведется разработка, на целевой встроенный компьютер.
К 1960 году за очень короткое время группой CADASYL (Conference on Data System Languages) под руководством Joe Wegstein и при поддержке фирмы IBM был разработан стандартизированный деловой язык программирования COBOL (Comnon business oriented language - общепринятый деловой ориентированный язык). Этот язык ориентирован на решение экономических задач, а точнее - на обработку информации [4].
Впервые появилось понятие метаданных.
В 1961 году американским профессором Джоном Маккартни разработан язык LISP (List procssing language - язык обработки списков).
В 1962 году Р.Грисуолд разработал язык программирования СНОБОЛ, ориентированный на обработку строк.
Джей Форрестер запатентовал память на магнитных сердечниках. Впервые такая память применена на машине Whirlwind-1 (Вихрь-1). Она представляла собой два куба с 32х32х17 сердечниками, которые обеспечивали хранение 2048 слов для 16-разрядных двоичных чисел с одним разрядом контроля четности [2].
Рис. 3. Джей Форрестер
В машине Whirlwind-1 была впервые использована универсальная неспециализированная шина (взаимосвязи между различными устройствами компьютера становятся гибкими) и в качестве систем ввода-вывода использовались два устройства: электронно-лучевая трубка Вильямса и пишущая машинка с перфолентой (флексорайтер).
Рис. 4. Джей Форрестер с рабочей группой
Нил Цирлер и Дж. Халкомби Лэнинг-мл., создали язык высокого уровня и транслирующую систему для компьютера «Вихрь-1» в Массачусетском технологическом институте [13].
Создание интеллектуальной программирующей системы DINAMO
Модели мировой динамики
В 1962 году Э.В.Евреиновым и Ю.Г.Косаревым предложена модель коллектива вычислителей и обоснована возможность построения суперкомпьютеров на принципах параллельного выполнения операций, переменной логической структуры и конструктивной однородности [4].
1965 Язык BASIC (Beginners all-parpouse sumbolic instraction code - многоцелевой язык символических инструкций для начинающих) был разработан профессорами Дартмутского колледжа Томом Куртцем (Tom Kurtz) и Джоном Кемени (John Kemeny) для обучения студентов, незнакомых с вычислительной техникой.
У языка со временем появилось множество диалектов: Basica (IBM), GW-Basic, MSX-Basic, Turbo-Basic (Borland), Quick-Basic (Microsoft), XYBasic, QBasic, CBasic, Basic-80, 86 и 87Basic/387Basic (MicroWay) и т. д.
Впервые BASIC был применен в компьютере IBM 704, но широкое распространение получил в начале 1980-х, после того как в 1975 г. Билл Гейтс и Пол Аллен написали интерпретатор Basic для первого ПК Altair 8800.
1966 - язык программирования РЕФАЛ - В.Ф.Турчин.
изначально задуманный как метаязык для описания семантики других языков, но впоследствии, с появлением эффективных практических реализаций, он стал использоваться в качестве языка программирования.
1967 – Совместный проект IBM и группы пользователей – разработка нового языка программирования, объединяющего возможности обработки научных данных и решения бизнес-задач [7].
Рис. 5. IBM-360
Назвали его PL/1 (Programming language - универсальный программно-ориентированный).
1967 - Эдвард Фейтенбаум из Стэнфордского университета разработал первую экспертную систему DENDRAL с - продукционным представлением знаний.
1968 - Эдсгер Дейкстра разработал концепцию структурного программирования.
1968 - М.Р.Куиллиан из Университета Карнеги-Меллона предложил способ представления знаний в виде семантических сетей/
1968-1970 годах профессор Никлаус Вирт создал в Цюрихском политехническом университете язык PASCAL. Он создавался как язык , который , с одной стороны, был бы хорошо приспособлен для обучения программирования, а с другой - давал бы возможность эффективно решать самые разнообразные задачи на современных ЭВМ. При создании этого языка Вирт большое внимание уделял хорошему стилю программирования - структурному программированию, благодаря которому конструкции PASCAL позволяют писать надежные, легко проверяемые программы с ясной и четкой структурой [1].
Профессор математики МТИ (Массачусетского технологического института) Сеймур Пейперт (Seymour Papert) и его коллеги создали новый язык на основе Лиспа, назвав его Лого (что по-гречески означает слово).
По инициативе Пейперта в языке стала использоваться так называемая черепашка, обеспечивающая связь «объект — мысль» (сначала употреблялась механическая черепашка, ползающая по полу, а затем — ее условное изображение на экране) [4].
Как отмечал Пейперт, «компьютер обычно шаг за шагом ведет ребенка за собой», а Лого, наоборот, «убеждает ребенка в том, что он способен управлять машиной, позволяет ребенку сказать: «Здесь я хозяин».
Сначала Лого предназначался для больших компьютеров и мини-компьютеров, но потом проник в тысячи классов начальных школ.
21 век - объектно-ориентированное программирование (ООП).
За какие-то 15 лет оно воплотилось в господствующую религию, подчинившую умы миллионов программистов.
ООП - стандарт де-факто.
С использованием объектно-ориентированной методологии (ООМ) осуществляется разработка огромного числа программных проектов, а ООП является основным инструментом для построения кода [3].
Глава II. Теоретический аспект понятия и классификация языков программирования высокого уровня
2.1. Понятие и классификация языков программирования высокого уровня
В языках высокого уровня особенности конкретных компьютерных архитектур не учитываются, поэтому написанные программы легко могут быть перенесены на другой компьютер. Зачастую достаточным является компиляция программы под определенную архитектурную и операционную систему.
Разработка программ на языках высокого уровня значительно проще и ошибок намного меньше. К тому же время разработки программы значительно уменьшается, что является особенно важным фактором при работе над сложными программными проектами. Недостаток некоторых языков высокого уровня состоит в большом размере программ по сравнению с программами на языках низкого уровня. В то же время текст программ на языке высокого уровня гораздо меньше, но в байтах код, написанный на ассемблере, будет более компактным. Поэтому языки высокого уровня преимущественно используют для создания программного обеспечения для компьютеров и вычислительных устройств с большим объемом памяти. Языки же низкого уровня используются для написания программ к устройств, для которых критичным является размер программы [2].
Языки высокого уровня делятся на универсальные и проблемно-ориентированные. Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др. Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.
Языки программирования высокого уровня используют в аппаратно-независимых системах программирования.
Языки программирования высокого уровня подразделяют на [3]:
− процедурно-ориентированные;
− проблемно-ориентированные;
− объектно-ориентированные.
Каждый из описанных ниже языков программирования применяется для решения определенного круга задач [6].
Процедурно-ориентированные языки применяются для записи процедур или алгоритмов обработки информации на каждом определенном круге задач. К ним относятся:
а) язык Фортран (Fortran), название которого происходит от слов Formulae Translation – «преобразование формул». Фортран представляет собой один из старейших языков программирования высокого уровня. Длительность его существования и применения можно объяснить простотой структуры данного языка;
б) язык Бейсик (Basic), который расшифровывается как Beginner's All-purpose Symbolic Instruction Code, что в переводе означает – «многоцелевой символический обучающий код для начинающих», разработан в 1964 г. как язык для обучения программированию;
в) язык Си (С), применяемый с 1970-х гг. как язык системного программирования специально для написания ОС UNIX. В 1980-е гг. на основе языка С был разработан язык C++, практически включающий в себя язык С и дополненный средствами объектно-ориентированного программирования;
г) язык Паскаль (Pascal), который назван в честь французского ученого Б. Паскаля, начал применяться с 1968–1971 гг. Н. Виртом. При создании Паскаль использовался для обучения программированию, но со временем стал широко применяться для разработки программных средств в профессиональном программировании.
Проблемно-ориентированные языки используются для решения целых классов новых задач, возникших в связи с постоянным расширением области применения вычислительной техники:
а) язык Лисп (Lisp – List Information Symbol Processing), который был изобретен в 1962 г. Дж. Маккарти. Первоначально он применялся как средство для работы со строками символов. Лисп употребляется в экспертных системах, системах аналитических вычислений и т. п.;
б) язык Пролог (Prolog – Programming in Logic), используемый для логического программирования в системах искусственного интеллекта [7].
Объектно-ориентированные языки развиваются и в настоящий момент. Большинство из этих языков являются версиями процедурных и проблемных языков, но программирование с помощью языков этой группы является более наглядным и простым. К наиболее часто употребляемым языкам относятся:
а) Visual Basic (~ Basic);
б) Delphi (~ Pascal);
в) Visual Fortran (~ Fortran);
r) C++ (~ C);
д) Prolog++ (~ Prolog).
2.2. Достоинство и недостатки некоторых языков программирования высокого уровня
К первому классу языков, который используется для записи процедур или алгоритмов обработки информации относят:
а) язык Фортран (Fortran). Является одним из первых языков программирования высокого уровня. К его основным достоинствам относится наличие огромного числа математических библиотек, поддержка работы с целыми, вещественными и комплексными числами высокой точности [3, 4], встроенных средств обработки массивов.
К недостаткам можно отнести отсутствие средств отладки и анализа поведения программы, сложность понимания исходного кода. По сути, на данный момент Фортран является узкоспециализированным языком, применяемым для научных и инженерных вычислений.
б) язык Бейсик (Basic). Был разработан в 1964 г. в качестве языка для обучения программированию [12].
Основными достоинствами этого языка являются, простой синтаксис, который позволяет в кратчайшие сроки освоить этот язык программирования, простота реализации графического интерфейса, возможность использования WinAPI функций, что значительно расширяет возможности языка.