Файл: Классификация языков программирования высокого уровня ( Понятие и виды языков программирования ).pdf
Добавлен: 16.06.2023
Просмотров: 189
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1 Теоретические аспекты исследования языков программирования
1.1 Понятие и виды языков программирования
1.2 Характеристика языков программирования различных уровней
Глава 2 Понятие и классификация языков программирования высокого уровня
2.1 Языки программирования высокого уровня
2.2 Современные языки программирования
Введение
Актуальность исследования. Современное прикладное программирование требует создания безопасных и надёжных пользовательских приложений[1], большинство из которых, как правило, должны работать в сети. Чтобы понять, как совершенствовать технологию написания безопасного кода, надо обратиться к анализу инструмента разработки приложений - языкам программирования высокого уровня.
История развития языков программирования высокого уровня довольно обширна и весьма разнообразна, её начало принято относить к 1954 году - моменту создания первого языка программирования высокого уровня Фортран[8]. Именно с появления ЯП ВУ компьютеры начали реализовывать весь свой потенциал. Языки программирования высокого уровня помогают сделать прикладные программы более понятными и читаемыми, позволяют обрабатывать длинные запросы к различным структурам данных, обеспечивают надёжность и безопасность написанных на них приложений.
Целью данной работы является анализ классификации языков программирования высокого уровня, для достижения поставленной цели, были выделены следующие задачи:
- рассмотреть теоретические аспекты исследования языков программирования;
- изучить понятие и классификация языков программирования высокого уровня.
Объект исследования – языки программирования высокого уровня.
Предмет исследования - классификация языков программирования высокого уровня.
Структура работы состоит из введения, основной части, заключения и списка литературы.
Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области информатики, материалы периодических изданий и сети Интернет.
Глава 1 Теоретические аспекты исследования языков программирования
1.1 Понятие и виды языков программирования
За все время существования и развития электронно-вычислительных машин (ЭВМ) возникло довольно большое число языков программирования различного уровня, начиная с машинных кодов, т.е. 0 и 1, и заканчивая языками высокого уровня (ЯВУ), такими как семейство языков C (C, C++, C#), намного более адаптированными под язык человека. В разное время языки использовались в разнообразных предметных областях [1]:
Таблица 1.1 - Итоги использования различных языков программирования в различных предметных областях и в разные периоды
|
Период |
Область применения |
Основные языки |
Другие языки |
|
1960-е годы |
Обработка деловой информации |
COBOL |
Assembler |
|
Научные вычисления |
FORTRAN |
ALGOL, BASIC, APL |
|
|
Системная область |
Assembler |
JOVIAL, Forth |
|
|
Искусственный интеллект |
LISP |
SNOBOL |
|
|
Настоящее время |
Обработка деловой информации |
COBOL, C++, Java, spreadsheet |
C, PL/I, 4GLs |
|
Научные вычисления |
FORTRAN, C, C++, Java |
BASIC |
|
|
Системная область |
C, C++, Java |
Ada, BASIC, Modula |
|
|
Искусственный интеллект |
LISP, Prolog |
||
|
Интеллектуальная деятельность |
TeX, Postscript, текстовые процессоры |
||
|
Создание процессоров |
UNIX, shell, TCL, Perl, JavaScript |
AWK, Marvel, SED |
|
|
Новые парадигмы |
ML, Smalltalk |
Eifell |
Язык программирования - это искусственно созданный язык для задания специального кода в ЭВМ, приводящего к тому или иному результату. Большая советская энциклопедия дает такое определение: «Язык программирования, формальная знаковая система, используемая для связи человека с ЦВМ (цифровой вычислительной машиной); предназначена для описания данных (информации) и алгоритмов (программ) их обработки на вычислительной машине» [2].
Принято выделять языки программирования низкого и высокого уровня. К первым относят так называемые машинные языки (коды), которые полностью или почти полностью являют собой программу, обращающуюся непосредственно к машине в понятной ей двоичной (0 и 1 - нет сигнала/есть сигнал) кодировке. В пример можно привести такие языки как АЛГОЛ, КОБОЛ, Фортран, Ассемблер.
Чем-то средним между языками высокого и низкого уровней являются языки, которые были созданы как облегченные для того, чтобы непрограммисты имели возможность самостоятельно создавать программы, но потом развились в полноценные с возможностью создания высококлассных программных продуктов. Из наиболее известных языков к ним можно отнести Basic и Pascal. Их отличие от языков низкого уровня в том, что алфавит воспринимаемых ими словесных команд намного больше, чем в машинных кодах, а также они несколько понятнее человеку, имеющему базовые знания английского языка.
ЯВУ представляют собой многоуровневую структуру командной иерархии, наличие огромной базы готовых классов, функций и шаблонов. Элементарные программы на таких языках создаются менее, чем за пять минут. Как правило, такие языки реализуют и визуальное программирование, позволяющее работать непосредственно с элементами управлениями, такими как кнопки, текстовые поля, метки (обычный текст), меню и т.п.
В плане выполнения программ в ЭВМ отличие между языками низкого и высокого уровней состоит в быстродействии. Программа, выполненная в машинном коде, которая обращающаяся напрямую к регистрам памяти, скорее всего, выдаст результат намного быстрее, чем та, что написана в более понятном, словесном, коде. Это объясняется тем, что все словесные команды языка сначала перерабатываются в машинный код, а потом уже происходит их выполнение.
Как бы ни совершенствовались языки программирования, ЭВМ все также «понимают» лишь 0 и 1. Высокоуровневые языки всего лишь позволяют программисту облегчить свою работу, заменив не слишком понятные человеку команды на вполне ясные английские слова.
1.2 Характеристика языков программирования различных уровней
Рассмотрим подробнее некоторые языки различных уровней, с которыми я встречалась «лицом к лицу».
Исходя из логических соображений, начинать обучение языкам программирования и работе с ними следует с языков низкого уровня, чтобы иметь представление о том, каким образом происходит обработка компьютером поступающих кодов. Однако в большинстве случаев обучение начинают с таких языков как Basic и Pascal. И все же рассмотрим сначала Ассемблер.
Одной из специфических особенностей данного языка является то, что, как правило, программы на Ассемблере пишутся под определенную ЭВМ с учетом конкретной архитектуры. Нет гарантии, что написанная в «общем виде» программа, теоретически подходящая для любого процессора, действительно будет работать на каждом компьютере. Это объясняется тем, что любая подобная программа обращается непосредственно к регистрам памяти, имеющимся в распоряжении того или иного процессора. Существует ограниченное, но довольно большое число разнообразных регистров, отвечающих за конкретные возможные действия. Однако не факт, что в двух различных архитектурах ЭВМ идеально точно совпадут имена и назначения каждого из регистров, особенно если в программе используются не стандартные, практически всегда идентичные, регистры, а специфические, отвечающие за выполнение уже запрограммированных производителем действий.
Язык Ассемблера довольно сложен для понимания, особенно если человек сталкивается с ним впервые. Чтобы работать с ним, необходимы дополнительные знания по архитектуре ЭВМ, а также понимание того, как именно происходят те или иные процессы в компьютере. Это довольно сильно отвлекает от реализации непосредственно алгоритма программы. Особенно стоит учесть то, что у различных «семейств» процессоров может быть различное количество команд. Например, у микропроцессора Pentium 4 их около 500 [3]. Естественно, запомнить их все довольно сложно, приходится часто обращаться к справочникам. Нельзя сказать, что в ЯВУ мало команд, но запоминаются они много проще из-за ассоциативных связей или знания, например, английского языка.
В настоящее время, как правило, на Ассемблере пишется не вся программа, а лишь ее часть - для увеличения быстродействия, т.е. уменьшения времени выполнения данного участка кода за счет обращения непосредственно к микропроцессору. Подобные «вставки» возможны и на языке Basic.
Бейсик - высокоуровневый язык программирования, который изначально был создан как язык для непрограммистов, чтобы те могли самостоятельно создавать программы. В его основу легли такие языки, как Фортран II и частично на Алгол 60. В дальнейшем получил довольно широкое распространение с появление домашних компьютеров. Язык имел множество диалектов, которые за время его существования появлялись и исчезали, привнося в него новые элементы. В итоге к настоящему моменту Бейсик из простого, почти примитивного языка превратился в довольно развитый самостоятельный язык для разработки прикладных программ.
Естественно, данный язык намного проще к восприятию, чем Ассемблер. Здесь программист может больше внимания уделять реализации алгоритма программы, а не следить за соответствием запросов возможностям конкретного микропроцессора. В Бейсике намного легче кодирование ввода-вывода информации, выполнение математических вычислений и многого другого.
Синтаксис языка напоминает Фортран и многие элементы — явные заимствования из него. Поскольку ключевые слова взяты из английского языка, намного проще понять предназначение той или иной команды. Основных типов данных два: строки и числа. Развиваясь, язык приобретал все больше черт структурированных высокоуровневых языков. Одним из наиболее распространённых вариантов языка Бейсик стал QBasic. Он имел широкие возможности, такие, как наличие в нём довольно мощных графических и звуковых реализаций, позволяющих создавать на этом языке даже игры.
Таким образом, язык стал гораздо объёмнее и сложнее, его освоение стало требовать больше времени и усилий. Изначальная цель его создания была оттеснена на второй план. Зато Бейсик встал на одну ступень с такими языками, как Delphi и C. Особенно это стало заметно с выходом Visual Basic (VB), сочетающего в себе процедуры и элементы объектно-ориентированных и компонентно- ориентированных языков программирования. Он включает в себя возможность визуального программирования. Непосредственно Visual Basic работает лишь с Windows-приложениями, тогда как Visual Basic for Applications (VBA) предназначен для написания макросов и других прикладных программ для конкретных приложений. Кроме того имеется и скриптовый VB - Visual Basic Scripting Edition (VBScript), созданный для написания сценариев интернет-страниц.
Язык VB имеет как неоспоримые достоинства, так и серьезные недостатки. Даже несмотря на свою обретенную с годами сложность, он все равно довольно прост и позволяет очень быстро разобраться в нем. Кроме того присутствует высокая скорость создания приложений с графическим интерфейсом для операционной системой (ОС) Windows. Все недостатки по большей части связаны с тем, что VB «привязан» в основном именно к данной ОС и Mac OS X, за исключением VB for DOS. Низкая скорость работы также является довольно ощутимым недостатком, обусловленным тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtime library), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.
Однако стоит отметить, что все недостатки языка вытекают из его основного достоинства — простоты разработки графического интерфейса. Поэтому многие программисты используют Visual Basic для разработки интерфейса пользователя, а функциональность программы реализуют в виде динамически подключаемых библиотек (DLL), написанных на другом языке (чаще всего C++). [4]
Важную часть обучения программированию несет в себе язык Pascal. Он используется непосредственно с целью постижения основ программирования старшеклассниками и студентами. Паскаль считается базой для ряда других языков.
Данный язык является одним из первых структурных языков программирования. От языка Паскаль принято отсчитывать эпоху структурного программирования. Его особенность заключается в строгой типизации, а также в нетерпении каких бы то ни было двояких толкований одной команды. Разработчик Паскаля - Никлаус Вирт - постарался создать интуитивно понятный даже при первом знакомстве язык. Несмотря на большое количество недостатков, при изучении программирования постепенно становящихся достоинствами, он стал огромным шагом для того времени.