Файл: Классификация языков программирования высокого уровня.pdf
Добавлен: 31.03.2023
Просмотров: 108
Скачиваний: 1
СОДЕРЖАНИЕ
1. Теоретические основы изучения языков программирования высокого уровня
1.1. Классификация языков программирования
1.2. Понятие о языках программирования высокого уровня и их классификация
1.3. Классификация языков программирования высокого уровня
2. Практические аспекты изучения языков программирования высокого уровня
2.1. Языки программирования высокого уровня Lisp, Prolog, C++
2.2. Язык программирования высокого уровня Pascal
2.3. Язык программирования высокого уровня Basic
2.4. Язык программирования Java
В эпоху электронно-вычислительных машин третьего поколения большое распространение получил язык PL/I (Program Language One), который разработала фирма IBM. Это был первый язык, который претендовал на универсальность, возможность решать любой вид задач: вычислительные, поиска и накопления данных, задачи обработки текстов. Но следует отметить, что PL/I оказался слишком сложным языком. Транслятор с языка PL/I для машин типа IBM 360/370 нельзя считать оптимальным, он содержал целый ряд невыявленных ошибок [5, 33]. На электронно-вычислительных машинах класса микро и мини он совершенно не получил распространения. Впоследствии старые языки модернизировали в универсальные варианты - Algol-68 и Fortran-77.
В 1971 году был создан язык Pascal, что стало важным событием в истории языков программирования. Его автором стал швейцарский профессор Никлаус Вирт. Он разрабатывал Pascal в качестве учебного языка структурного программирования.
Персональные компьютеры обеспечили наибольший успех в распространении данного языка. Американская фирма Borland International, Inc (США) разработала систему программирования Turbo Pascal для персонального компьютера [13, 25].
Turbo Pascal является не только языком и транслятором с него, но еще и операционной оболочкой, которая обеспечивает удобство работы пользователю. Turbo Pascal стал языком профессионального программирования с универсальными возможностями, выйдя за пределы учебного предназначения. Транслятор с Turbo Pascal по оптимальности разработанных им программ близок наиболее успешному в данном отношении транслятору - транслятору с Fortranа [20, 39]. Благодаря указанным достоинствам Pascal стал основанием для многих современных языков программирования.
Электронно-вычислительные машины будущего, пятого поколения именуют машинами «искусственного интеллекта» [6, 72]. Но намного раньше физического появления разрабатывались прототипы языков для данных машин. Этими языками являются LISP и Prolog.
Таким образом, стоит отметить, что тенденция к универсализации языков программирования является перспективной.
1.3. Классификация языков программирования высокого уровня
Машинно-независимые системы программирования требуют применения высокоуровневых языков программирования. Если производить сравнение машинно-ориентированных систем с аналогичными системами программирования, то машинно-независимые системы в применении являются более простыми.
Языки программирования высокого уровня можно разделить на несколько групп: языки объектно-ориентированные, процедурно-ориентированные и проблемно-ориентированные [8, 98].
Группа проблемно-ориентированных языков используется с целью разрешения целого спектра новых задач, появляемых в процессе постоянного расширения сферы применения вычислительной техники:
а) предназначение языка Prolog, полное название которого Programming in Logic, состоит в логическом программировании, осущесталяемом в рамках систем искусственного интеллекта [21, 115];
б) язык Lisp, полное название List Information Symbol Processing, был изобретён Джоном Маккарти в 1962 году. Первоначально он применялся в качестве средства работы со строками различных символов. Областью использования языка Lisp являются системы аналитических вычислений и экспертные системы;
Группа процедурно-ориентированных языков, используемых с целью записи определенных алгоритмов или процедур обработки данных на любом этапе решаемых задач:
а) язык Basic, полное название которого Beginner’s All-purpose Symbolic Instruction Code, в переводе с английского обозначает «обучающий код для начинающих символический многоцелевой», был изобретен в 1964 году. С этого периода он стал использоваться в качестве языка для обучения программированию [23, 74];
б) язык Fortran, который расшифровывается как Formulae Translation, в переводе с английского обозначает «преобразование формул». Fortran как язык программирования высокого уровня представляет собой один из старейших языков. Существование языка Fortran и его употребление объяснимо простотой его структуры;
в) язык программирования С, был разработан и применяется с 70-х годов XX века в качестве языка системного программирования исключительно с целью создания UNIX, операционной системы. В 80-е годы XX века на базе языка С был разработан язык С++, включающий в себя язык С и дополненный средствами объектно-ориентированного программирования [17, 88];
г) язык Pascal своим названием обязан французскому ученому Блезу Паскалю. Его применение началось с 1968-1971 годы Никлаусом Виртом. Сразу после создания Pascal использовали с целью обучения программированию, однако впоследствии его начали применять в профессиональном программировании с целью создания программных средств;
Группа объектно-ориентированных языков получает широкое развитие и в современном мире. Большинство из них представляют собой развитые версии проблемных и процедурных языков [10, 95].
Однако программирование при помощи объектно-ориентированных языков нагляднее и проще. Среди этой группы языков следует выделить такие языки, как:
а) Visual Basic (Basic);
б) С++ (С);
в) Visual Fortran (Fortran);
г) Prolog++ (Prolog);
д) Delphi (Pascal) [12, 124].
Таким образом, классификация языков программирования высокого уровня включает в себя целый спектр различных характеристик языков.
Выводы по 1 главе
В результате анализа, проведенного в первой главе исследования, мы выяснили, что сегодня существуют десятки специальных языков программирования. Универсальные языки решают задачи широкого диапазона. Особенный класс универсальных языков представляют собой визуальные среды программирования. Специализированные языки учитывают особенности предметной области. Язык скриптов применяется с целью создания небольших утилит (вспомогательных программ). Язык для работы с базами данных позволяет создавать и поддерживать базы данных.
Машинно-независимыми языками являются языки программирования высокого уровня. Они могут реализовать одну и ту же программу на электро-вычислительных машинах разных типов, при условии их оснащенности соответствующим транслятором.
Классификация языков программирования высокого уровня выделяет три основные группы: языки программирования объектно-ориентированные, процедурно-ориентированные и проблемно-ориентированные языки программирования.
2. Практические аспекты изучения языков программирования высокого уровня
2.1. Языки программирования высокого уровня Lisp, Prolog, C++
Изначально язык программирования C был создан как инструментальный язык с целью разработки баз данных, трансляторов, операционных систем, а также других прикладных и системных программ. Язык C, как и Pascal представляют собой языки структурного программирования. Однако отличие C от Pascal состоит в том, что он содержит возможности непосредственного обращения к некоторым машинным командам, к конкретным участкам памяти персонального компьютера. Развитие языка C в дальнейшем привело к разработке C++, который является языком объектно-ориентированного программирования [17, 88].
Ещё одним языком, предложенным Н. Виртом, стал язык Modula-2. Этот язык был основан на базе языка Pascal и содержал средства с целью создания больших программ [23, 91].
LISP появился в 1965 году. Он базируется на термине рекурсивно определенных функций. А так как доказано, что любой алгоритм могут описать при помощи определенного набора рекурсивных функций, то LISP, по сути, представляет собой универсальный язык. С его помощью на электронно-вычислительных машинах есть возможность моделировать достаточно сложные процессы, в том числе интеллектуальную деятельность человека.
Язык Prolog был разработан в 1972 году во Франции также с целью решения проблематики «искусственного интеллекта». Язык Prolog дает возможность в формальном виде описывать разнообразные утверждения, логику рассуждений и заставляет компьютер давать ответы на все заданные вопросы [6, 145].
Осуществлять определенный язык программирования на электронно-вычислительных машинахах - это означает создание транслятора с данного языка для данного персонального компьютера. Существуют два принципиально разнообразных метода трансляции. Они именуются компиляция и интерпретация соответственно. С целью объяснения различия между ними можно предложить такую аналогию: лектору следует выступать на незнакомом ей языке перед аудиторией.
Имеется возможность организовать перевод двумя методами:
- полноценный предварительный перевод - текст выступления лектором заранее передается переводчику, тот в свое время записывает перевод, копирует его и распространяет слушателям (после этого лектору можно и не выступать);
- синхронный перевод - лектором зачитывается доклад, одновременно с ним переводчик слово в слово переводит на незнакомый лектору язык выступление [12, 77].
Компиляция представляет собой аналог полноценного предварительного перевода; интерпретация является аналогом перевода синхронного. Транслятор, который работает методом компиляции, именуется компилятором; транслятор, который работает по принципу интерпретации, - интерпретатором [9, 21].
В процессе компиляции в память электронно-вычислительной машины загружается программа-компилятор. Текст программы на языках программирования высокого уровня воспринимается ею как исходные данные. После процесса завершения компиляции реализуется программа на языке машинных команд. После этого в памяти остается исключительно программа на языке машинного кода, которая реализуется, и получаются требуемые результаты [4, 87].
На протяжении всего времени работы программы интерпретатор находится в пределах внутренней памяти. В оперативно-запоминающем устройстве помещается и программа на языках программирования высокого уровня. В последовательности выполнения алгоритма интерпретатор «считывает» следующий оператор программы, осуществляет перевод его в команды и мгновенно выполняет указанные команды. После этого приступает к переводу и выполнению очередного оператора. Вместе с тем в памяти не сохраняются результаты предыдущих переводов. В ходе повторного выполнения одной и той же команды она будет транслироваться снова [17, 91].
В процессе компиляции реализация программы разбивается на два этапа: трансляцию и выполнение.
Так как трансляция и выполнение команды при интерпретации совмещены, программа на компьютере проходит в один этап. Следует отметить, что выполнение откомпилированной программы осуществляется быстрее, чем интерпретируемой. Поэтому применение компиляторов намного удобнее для больших программ, которые требуют быстрого счета.
Программы на Fortran, C, Pascal чаще всего реализованы посредством компилятора. Basic всегда интерпретируется [3, 91].
Таким образом, кждый из рассмотренных языков имеет определённую выполняемую им функцию.
2.2. Язык программирования высокого уровня Pascal
Среди многих языков программирования, которые предназначены для обучения именно навыкам программирования, имеется один, который особо выделяется. Язык Pascal, который назван в честь великого французского ученого XVII столетия Блеза Паскаля, был создан в конце 1960-х годов швейцарским ученым Никлаусом Виртом, и не для образовательных целей, как этот язык сейчас воспринимается [6, 72].
Наоборот, в то время ученые пробовали различные языки программирования с целью практического использования. И позже этот ученый создал два языка программирования - Oberon и Modula, которые, однако, не стали популярными среди профессионалов. В частности, в 1968 году была разработана первая версия языка Pascal (на основе ALGOL), а 1970 году - первый компилятор.
Спецификой Паскаля является его структурная направленность - каждая программа может быть описана как комбинация отдельных блоков или структурных элементов в единое целое. Это так называемое структурированное программирование, которое заменило программирование - самую простую организацию написания программ, когда инструкции процессору последовательно записываются без какой-нибудь структуры [18, 92].