Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация языков программирования высокого уровня ( Понятие и виды языков программирования )

Содержание:

Введение

Актуальность исследования. Современное прикладное программирование требует создания безопасных и надёжных пользовательских приложений[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. Он используется непосредственно с целью постижения основ программирования старшеклассниками и студентами. Паскаль считается базой для ряда других языков.

Данный язык является одним из первых структурных языков программирования. От языка Паскаль принято отсчитывать эпоху структурного программирования. Его особенность заключается в строгой типизации, а также в нетерпении каких бы то ни было двояких толкований одной команды. Разработчик Паскаля - Никлаус Вирт - постарался создать интуитивно понятный даже при первом знакомстве язык. Несмотря на большое количество недостатков, при изучении программирования постепенно становящихся достоинствами, он стал огромным шагом для того времени.

В настоящее время Паскаль довольно мощный язык, имеющий как графические, так и звуковые возможности. На основе этого языка существует язык с графическим интерфейсом Delphi, довольно распространенный среди профессиональных программистов.

В Паскале большое внимание уделяется «скелету» программы, т.е. в ней обязательно присутствует разделение на области, такие как область описания переменных, подключение библиотек, непосредственно кодирование алгоритма. Важным становится правильно определить тип переменных из довольно обширного, по сравнению с вышеописанными языками, списка. Учитывая то, что команды являют собой английские слова (или их части и сокращения), понимание данного языка довольно простое, как и задумывал его создатель. Конечно, как и Бейсик, язык с момента своего «рождения» претерпел некоторые изменения, обзаводясь диалектами. Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка. Это был значительный шаг вперед в облегчении процесса программирования.

Развитием языка Borland Pascal является Object Pascal — версия языка Паскаль, расширенная средствами объектно-ориентированного программирования.

Одним из наиболее распространенных языков программирования у профессионалов является язык семейства C - C# (си шарп). Это язык высокого уровня, сочетающий в себе объектно-ориентированные и контекстно- ориентированные представления. Средой для разработки программ на языке C# обычно является пакет Microsoft Visual Studio (VS). Она позволяет создавать консольные приложения, приложения Windows, сайты .NET и многое другое.

Как всякая среда, имеющая визуальное устройство интерфейса, VS обладает большой библиотекой элементов управления, а также возможностью подключения баз данных, например, линейки SQL. Широкий спектр настроек позволяет создать именно тот дизайн будущего приложения, который Вам необходим. Имея русифицированную версию VS, создать простейшую программу Windows- приложения - дело пяти минут, причем большая часть времени уйдет на проработку дизайна. Зная хотя бы приблизительно принцип работы языка C# применительно к элементам управления и значения некоторых команд, можно по предлагаемым умной программой подсказками и приведенным комментариям и разъяснениям сгенерировать немалой длины код. Профессиональные программисты советуют для начал все же набирать весь код вручную, стараясь понять каждую строку и каждую команду.

В отличие от рассмотренных ранее языков, C# не поддерживает интеграцию код на Ассемблере. Чтобы все же внести такую вставку, необходимо подключить специальную библиотеку, а также провести с десяток манипуляций, чтобы добиться необходимого эффекта. Естественно, не многие спешат совместить C# и Ассемблер.

Язык C# очень чувствителен к объявлению переменных и соответствию их типа производимым над ними действиями. Например, не получится возвести в произвольную степень целочисленное число, программа выдаст ошибку. Здесь требуется тип переменной double - число дойной точности. Очевидно также, что математические операции нельзя проводить над строковыми переменными.

Немаловажной особенностью языка C# является возможность создания собственного класса. Вся суть языка заключена в классах, поскольку именно им определяется природа объекта. [5] Класс (определяется ключевым словом class), в смысле объектно-ориентированного программирования, — это совокупность объектов, которые имеют общие свойства и методы. Его можно назвать шаблоном для построения экземпляров - элементов класса. Так, мы можем создать класс, в котором будет храниться какое-то количество переменных, а потом в прописанных ниже методах с ними будут производиться какие-то действия. При этом нам не обязательно присваивать конкретные значения этим переменным непосредственно в классе. Этот шаблон универсален тем, что в теле программы можно создать любое число экземпляров данного класса, в каждом из которых значения описанных переменных будут различны. Кроме того в C# практикуется наследование классов. Например, создаем класс «Треугольник», задаем переменные определенного типа, пишем метод, который считает, например, площадь нашего треугольника. А потом вспоминаем, что треугольники бывают разные, и создаем новый класс «Прямоугольные», который является наследником первого класса. Это значит, что новому классу доступны все переменные и все методы, которые были созданы ранее, а также свои собственные. Например, метод расчета площади по частной формуле для прямоугольного треугольника. У каждого класса может быть только по одному наследнику, однако, если выстроить наследников под «родителем», каждому «ребенку» будет доступно все, что имеют вышестоящие «родственники», тогда как сверху вниз подобное отсутствует.

Из всех, описанных выше языков, последний, пожалуй, самый мощный и перспективный. Однако не стоит зацикливаться лишь на нем. В конечном счете, если Вы надеетесь стать программистом, необходимо знать не один и не два языка программирования, а как можно больше. Естественно, нет смысла учить те языки, которые в настоящее время являются «мертвыми». Есть необходимость в знании Ассемблера, C++ и C#, возможно, Delphi, PHP и т.д. Чем больше языков Вы знаете, тем выше вероятность написать программу с именно тем функционалом, что был необходим, причем с наименьшими затратами и с наибольшей результативностью.

Глава 2 Понятие и классификация языков программирования высокого уровня

2.1 Языки программирования высокого уровня

Анализ иерархии создания языков программирования показывает - нельзя создать универсальный язык, обеспечивающий «всё». Примером такого неудачного создания универсального ЯП ВУ является ПЛ/1 (Язык программирования №1) Поэтому современные языки программировании конца прошлого и начала настоящего века носят конкретный характер: они полностью ориентированы на специфику решаемой задачи.

Как принято считать, основы современного безопасного программирования были заложены в структурных ЯП ВУ, таких как COBOL (1959), Pascal (1970), C (1972)[8]. Следующей вехой укрепившей безопасность за счёт создания заранее проверенных и используемых затем программных блоков является появление процедур и функций в структурном программировании. Такой подход , кроме того, позволил объединить разнородные данные и сделать программы автономными и управляемыми.

Развитие структурирования привело к появлению классовых структур, где программы разбиваются на классы - структуры данных, содержащие в себе переменные и функции, которые работают с этим переменными. Началась эра объектно-ориентированного программирования, которое содержит в себе такие концепты, как полиморфизм, инкапсуляция и наследование. Примером «чисто» объектно-ориентированного ЯП ВУ является Java (1996). В этом языке надёжность и безопасность использования динамических структур данных, необходимых для ускорения работы приложений и экономии важнейших ресурсов вычислительной системы, стала ещё выше, чем в предшествующих языках такой же парадигмы.

Языки создаются и эволюционируют постоянно. Их влияние нельзя недооценивать на безопасную обработку современных научно-технических расчетов, на надёжное моделирование сложных процессов и систем в различных прикладных областях экономической деятельности человечества. Следовательно, перспективы развития ЯП ВУ всегда интересны и познавательны.

Какие же новые вычислительные модели и возможности заложены и будут являться перспективными в ближайшее время в современных языках программирования высокого уровня?

2.2 Современные языки программирования

Одним из ярких представителей языков нового времени является язык Elm. Ключевая особенность этого языка - отладчик реального времени. При работе с программами, написанными на этом языке, можно изменять код в реальном времени и наблюдать, как меняется тот или иной заданный параметр. Все действия записываются и могут быть проанализированы и переопределены, что существенно помогает в правильном написании прикладной программы.

Elm - функциональный язык программирования для создания GUI - Graphical User Interface , использующий синтаксис в стиле функционального языка программирования Haskell (рисунок 2.1). Он очень удобен и прост - программный код в несколько строк обеспечивает пользователю возможность рисования мышью любой фигуры в клиентской программе или в окне браузера. Интересна вычислительная модель реактивного функционального программирования - Functional Reactive Programming (FRP), положенная в основу данного языка. Данная парадигма ориентирована на работу с динамическими потоками данных и позволяет создавать приложения с высокой степенью интерактивности. Концепция FRP впервые была предложена Коналом Эллиоттом (Conal Elliott) при разработке функционального предметно-ориентированного языка для программирования анимации[4].

Рис. 2.1 - Иерархические связи языка Elm

Кроме того, Elm в современной практике программирования успешно используется для разработки веб-приложений. Исходный код, написанный с помощью этого языка, легко компилируется в коды HTML, CSS и JavaScript и органично встраивается в программный блок на странице сайта.

Несмотря на высокоуровневость, с точки зрения веб-программиста, HTML, CSS и JavaScript - это что-то вроде ассемблера для браузерных веб- приложений. Поэтому Elm может рассматриваться именно как настоящий язык высокого уровня, позволяющий писать компактный, надёжный и безопасный код для веб-разработок[4].

Необходимо отметить, что на сегодняшний день парадигма функционального программирования претерпевает подъём и другим представителем этого направления, заслуживающим внимания, является язык Swift от компании Apple, который призван упростить разработку приложения и внедрить отладчик реального времени. Этот язык направлен на развитие интерактивности приложения с мобильными устройствами, что делает его «неким» аналогом языка Elm.

Рис. 2.2 - Языковые связи языка Swift

Если рассмотреть связи этого языка с другими языками, появившимся ранее (рисунок 2.2), то можно выделить конкретные преимущества данного ЯП ВУ. Swift сочетает в себе «читабельность» именованных параметров и мощь динамической объектной модели Objective-C, укрепляет безопасность написанного на нём кода, по сравнению с предшественниками (указанными на схеме рисунка 2.2), предлагает множество новых возможностей, а также унифицирует процедурные и объектно-ориентированные аспекты языка программирования.

Этот новый язык программирования начала XXI века, как и язык Elm, имеет отладчик реального времени, который позволяет экспериментировать с кодом, наблюдая результат в настоящем времени без необходимости компилировать и запускать приложение. Это значит, что разработчики смогут быстрее проверять в деле свои концепты и в целом быстрее создавать надёжные приложения. Быстрота Swift подкупает многих разработчиков программного обеспечения, скорость реализации некоторых алгоритмов в 3,9 раза выше, чем на Python, и лаконичней, ввиду того, что в языке максимально искоренён такой недостаток как многословность, присущая Objective-C[2].

Далее необходимо обратить внимание на участие новых «игроков» на рынке производителей ЯП ВУ, таких как - корпорация Google - активно участвующая в создании новых программных продуктов, в том числе, и языков программирования. Помимо разработки языков, ориентированных на мобильные приложения, Google также не забывает о ранних архитектурах языков программирования. Опираясь на эти архитектуры, был разработан язык программирования высокого уровня «Go» (рисунок 2.3).

Рис. 2.3 -Язык Go и его иерархические связи

Go — компилируемый, многопоточный язык программирования. Первоначальная разработка Go началась в сентябре 2007 года [6,10,11]. В языке Go реализованы различные удобства: множественные возвраты из функций, простота представления и лёгкость работы со строками, что повышает надёжность и безопасность языка. Многоядерность охватила мир вычислительной техники нынешнего столетия, и разработчики программного обеспечения не могли не среагировать на это нововведение в аппаратном обеспечении. Язык Go обладает в этом плане главной особенностью - он предназначен для поддержания параллельного выполнения на нескольких процессорах (ядрах) разработанных на нём пользовательских приложений, Для этого любую функцию можно запустить выполняться в отдельном потоке (оператором Go). Параллельно выполняющиеся ветви ведут себя как сопрограммы, и могут обмениваться между собой синхронными сообщениями через двунаправленные каналы. Через каналы могут передаваться данные любых типов.

Языки программирования Java и C повлияли на множество языков в своё время. Однако, с развитием браузеров родился JavaScript - язык, тесно связанный с Java, но имеющий несколько серьезных отличий, которые не позволяют ставить их в один ряд. На протяжении своего существования JavaScript модифицируется и улучшается. Но Google создал свою альтернативу JavaScript - ЯП ВУ Dart.

Рис. 2.4 - Связи языка Dart

Dart - действительно новый язык и при его разработке были учтены следующие аспекты, которые так или иначе мешали его «родственникам» быть надёжными языками безопасного программирования (рисунок 4).

Во-первых, этот язык структурированный, и в то же время ориентирован на разработку веб-программ, то есть обеспечивает надёжность работы приложения в сети.

Во-вторых, он приемник уже существующих языков JavaScript, Go - которые популярны среди разработчиков программного кода, и переход к Dart и обучение ему, естественно, упрощается. Как и в JavaScript, в Dart используется синтаксис похожий на язык C. Это повышает его надёжность и избавляет программистов от типичных ошибок. JavaScript основывается на прототипах, тогда как объекты в Dart определяются при помощи классов и интерфейсов(как в C++ или Java). Также Dart позволяет дополнительно задать переменные со статическими типами. Этот язык, как показывает короткий промежуток его существования, становится столь же привычным, динамичным и гибким языком, как и JavaScript.

Очень важен для языка стандарт, в 2014 году ассоциацией стандартизации информационных и коммуникационных технологий (Ecma) была одобрена первая редакция стандарта языка [7].

Кроме компании Google, компания Microsoft представила свой аналог JavaScript - TypeScript, фрагмент иерархических связей языка представлен на рисунке 2.5.

Рис. 2.5 - Связи языка TypeScript

TypeScript — работает в любом браузере, поддерживается в таких популярных средах визуального программирования, как Microsoft Visual Studio, и совместим с некоторыми JavaScript-библиотеками, среди которых jQuery. Язык TypeScript является обратно совместимым с JavaScript и компилируется в последний. [3,11].

Отличиями TypeScript от JavaScript являются возможность явного определения типов (статическая типизация), поддержка использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержка подключения модулей. Подобные нововведения должны повысить скорость разработки, читаемость, реорганизацию кода (рефакторинг) и повторное использование кода, осуществлять поиск ошибок на этапе разработки и компиляции, а также повысить скорость выполнения программ.

Выявленные тенденции в развитии ЯП ВУ показывают, что в настоящее время, опираясь на своих предшественников, беря от них лучшее, языки программирования стали шире по своей функциональной направленности и проще для восприятия пользователей. Они стали конкретно-ориентированными на решаемые задачи, безопасными и надёжными для написания серверных и клиентских приложений.

К тому же, появились совершенно новые языки, которые ориентированы исключительно на разработку мобильных приложений с учетом особенностей архитектуры устройства и языки-инструменты, которые значительно упрощают работу с веб-приложениями, что характерно для нового времени.

Следует отметить, что все ЯП ВУ объединяет стремление предоставить пользователю удобный синтаксис, простоту генерации кода и быструю реализацию решения задачи в соответствующей среде программирования. Но прикладная наука развивается в эпоху межсетевых отношений и больших хранилищ данных [5,10,11], поэтому безопасность и надёжность используемых инструментов разработки клиент-серверных приложений играет решающую роль при выборе того или иного современного ЯП ВУ.

2.3 Классификация высокоуровневых языков программирования

Высокоуровневые языки программирования применяются в машинно-независимых системах программирования. Подобные системы программирования в сравнении с машинно-ориентированными системами более просты в применении.

Языки программирования высокого уровня делятся на определенные группы:

1) процедурно-ориентированные языки, которые употребляются для записи процедур или алгоритмов обработки информации на любом круге задач:

а) язык Фортран (Fortran) (от Formulae Translation — «преобразование формул»). Фортран является одним из старейших языков программирования высокого уровня. Его существование и применение объясняется простотой его структуры;

б) язык Бейсик (Basic), который можно расшифровать как «Beginner’s All-purpose Symbolic Instruction Code» (BASIC) — «многоцелевой символический обучающий код для начинающих», применяется с 1964 г. как язык для обучения программированию;

в) язык СИ (С), используется с 1970-х гг. как язык системного программирования специально для написания операционной системы UNIX. В 1980-е гг на основании языка С разработали язык С++, который включает в себя язык С и дополнен средствами объектно-ориентированного программирования;

г) язык Паскаль (Pascal) получил свое название в честь французского ученого Б. Паскаля. Его начал применять с 1968—1971 гг. Н. Вирт. При создании Паскаль использовали для обучения программированию, но впоследствии он стал применяться для разработки программных средств в профессиональном программировании;

2) проблемно-ориентированные языки применяются для разрешения целых классов новых задач, которые появляются при постоянном расширении области применения вычислительной техники:

а) язык Лисп (Lisp — List Information Symbol Processing) изобрел в 1962 г. Дж. Маккарти. Изначально он использовался как средство работы со строками символов. Лисп применялся в экспертных системах, системах аналитических вычислений и т. п.;

б) язык Пролог (Prolog — Programming in Logic) предназначается для логического программирования в системах искусственного интеллекта;

3) объектно-ориентированные языки, которые развиваются и в наше время. Большинство из таких языков — развитые версии процедурных и проблемных языков, но программирование с помощью языков такой группы более наглядно и просто. Среди таких языков можно выделить следующие:

а) Visual Basic (Basic);

б) Delphi (Pascal);

в) Visual Fortran (Fortran);

г) С++ (С);

д) Prolog++ (Prolog).

Заключение

Таким образом, в результате решения выше стоящих задач, были получены следующие выводы:

1. Из всех, описанных выше языков, последний, пожалуй, самый мощный и перспективный. Однако не стоит зацикливаться лишь на нем. В конечном счете, если Вы надеетесь стать программистом, необходимо знать не один и не два языка программирования, а как можно больше. Естественно, нет смысла учить те языки, которые в настоящее время являются «мертвыми».

Есть необходимость в знании Ассемблера, C++ и C#, возможно, Delphi, PHP и т.д. Чем больше языков Вы знаете, тем выше вероятность написать программу с именно тем функционалом, что был необходим, причем с наименьшими затратами и с наибольшей результативностью.

2.Выявленные тенденции в развитии ЯП ВУ показывают, что в настоящее время, опираясь на своих предшественников, беря от них лучшее, языки программирования стали шире по своей функциональной направленности и проще для восприятия пользователей. Они стали конкретно-ориентированными на решаемые задачи, безопасными и надёжными для написания серверных и клиентских приложений.

К тому же, появились совершенно новые языки, которые ориентированы исключительно на разработку мобильных приложений с учетом особенностей архитектуры устройства и языки-инструменты, которые значительно упрощают работу с веб-приложениями, что характерно для нового времени.

Следует отметить, что все ЯП ВУ объединяет стремление предоставить пользователю удобный синтаксис, простоту генерации кода и быструю реализацию решения задачи в соответствующей среде программирования. Но прикладная наука развивается в эпоху межсетевых отношений и больших хранилищ данных [5,10,11], поэтому безопасность и надёжность используемых инструментов разработки клиент-серверных приложений играет решающую роль при выборе того или иного современного ЯП ВУ.

Список литературы

  1. Взаимодействие человека, техники и природы: проблема информационной безопасности,- В.Н. Соляной, А.И. Сухотерин,- «Вопросы региональной экономики»,- Королевский институт управления, экономики и социологии (Королев),- ISSN:2078-4023 , -Том:5, Номер:5 Год:2010 Страницы:86-91,- http://unitech-mo.ru/upload/files/science/journal- vre/jurnal_no5.pdf
  2. Зачем язык программирования Swift нужен Apple и вам: [Электронный ресурс] // Lookatme.URL: http://www.lookatme.ru/mag/live/inspiration- lists/204771-swift
  3. Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript: [Электронный ресурс] // OpenNet.URL: http://www.opennet.ru/opennews/ art.shtml?num=34981
  4. Новости свободного ПО: [Электронный ресурс] // Компьютерные вести.и^: http://www.kv.by/content/325304-novosti-svobodnogo-po
  5. Об индуктивном подходе к приобретению знаний в экспертных системах управления персоналом,- Г.Н. Исаева,- «Вопросы региональной экономики»,- Королевский институт управления, экономики и социологии (Королев),- ISSN: 2078-4023 , -Том:5, Номер:5 Год:2010 Страницы:100-105,- http://unitech-mo.ru/upload/files/science/journal- vre/jurnal no5.pdf
  6. Олег Цилюрик. Сравнительное обозрение языков программирования. Статья. Редакция 2.31. 2014 год. - 78 с.
  7. Сайт о языке программирования Dart - руководства, инструкции, новости, статьи и многое другое: [Электронный ресурс] // dartdot.ru.URL: http://dartdot.ru/
  8. С. З. Свердлов. Языки программирования и методы трансляции Питер: 2007 ISBN: 978-5-469-00378-6, 5-469-00378-7
  9. Язык программирования Swift. Русская версия: [Электронный ресурс] // Хабрахабр.Ц^: http://habrahabr.ru/post/225841/
  10. Соляной В.Н., Сухотерин А.И. Взаимодействие человека, техники и природы: проблема информационной безопасности. Научный журнал (КИУЭС) Вопросы региональной экономики. УДК 007.51 №5 (05) Королев. ФТА. - 2010. 11. Шутова Т.В., Старцева Т.Е. Высокотехнологичный комплекс России - платформа для инновационного прорыва. Научный журнал (КИУЭС) Вопросы региональной экономики. УДК 007.51 №2 (11) г. Королев. ФТА. 2012г.