Файл: Классификация языков программирования высокого уровня (Понятие о языках программирования ).pdf
Добавлен: 24.04.2023
Просмотров: 307
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Теоретические основы языков программирования
1.1. Понятие о языках программирования
1.2. Классификация языков программирования
Глава 2. Анализ языков программирования высокого уровня
2.1. Обзор языков программирования высокого уровня
2.2. Практический пример языка высокого уровня на примере Java
Глава 3. Тенденции развития современных языков программирования высокого уровня
Подобные действия по изменению параметров записываются, могут быть просмотрены и проанализированы, а также тщательно и многократно оттестированы и проверены. Этот современный язык программирования относится к парадигме функционального программирования, с поддержкой принципов функционального реактивного программирования (ФРП).
Парадигма ФПР ориентирована на параллельную обработку данных, обеспечивает чёткую работу с динамическими потоками данных и позволяет создавать высоко-интерактивные приложения. Концепция, положенная в основу ФПР, была предложена и сформирована в конце прошлого века для упрощения технологии создания пользовательских интерфейсов, анимации, динамических систем. Поэтому программы, написанные на этом языке программирования, легко конвертируются в JavaScript – код, что немало важно для современных условий работы с браузерами всех категорий пользователей.
Кроме того, ЯП ВУ Elm удобен и прост в использовании: небольшой по объёму программный код обеспечивает разработчику приложения возможность работать с мышью для воспроизведения любой (даже сложной) фигуры в приложениях или в браузере. Тем не менее, язык изначально – функциональный, о чём говорят его родственные связи с семейством языка Haskell.
На рисунке 4 показаны взаимовлияния традиционных языков программирования и новых, ровесников двадцать первого столетия. Elm, не смотря на ярко выраженную принадлежность к функциональной парадигме, может быть использован для создания различного уровня сложности веб-приложений, практически всегда имеется возможность встроить написанный на этом языке программный код в блок тегов на странице сайта, так как Elm-программа без труда компилируется в коды HTML, CSS JavaScript.
Проведенный анализ популярных языков программирования данной парадигмы, показал, что функциональное программирование и его основные идеи получили в настоящее время новый виток развития. Так, необходимо выделить новый язык с интересными связями, и, являющийся представителем этой вычислительной модели – язык Swift от компании Apple. Данный язык служит отличным полигоном для создания интерактивных приложений для мобильных устройств и в этом отчасти совпадает с предназначением ЯП ВУ Elm[13].
Если рассмотреть генеалогические связи этого языка (рис. 4), то становится понятно, почему Swift такой яркий и его синтаксис вполне лёгкий для освоения современными прикладными программистами. Во-первых, на его появление оказали влияние Си-подобные языки программирования, которые на протяжение десятков лет широко востребованы и освоены разработчиками ПО: это Java, Ruby, C++, Objectiv-C.
Рисунок 4. Связи ЯП ВУ
В таблице 1 указана востребованность у работодателей в нашей стране специалистов со знанием перечисленных языков программирования. И тенденция такова, что основные языки – проверенные временем PHP, Java, C++ – занимают первые строчки таблицы, но современные языки, ровесники века, не уступают им в процентах роста и набирают популярность. Так, если брать цифры 2015 года за 100%-ю отметку, то прирост Swift составил 100%, а стоящий второй по числу заявок Java, прибавил 38% за год[14].
Таблица 1
Вакансии мест для программистов
|
№ |
ЯП ВУ |
Временной период |
|
|
2016 |
2017 |
||
|
1 |
PHP |
5586 |
9707 |
|
2 |
Java |
6219 |
8581 |
|
3 |
C++ |
3252 |
4135 |
|
4 |
C# |
2853 |
4093 |
|
5 |
JavaScript |
2307 |
3657 |
|
6 |
Python |
3791 |
2581 |
|
7 |
SQL |
1449 |
1955 |
|
8 |
Oracle |
1303 |
1742 |
|
9 |
C |
917 |
1338 |
|
10 |
Ruby |
993 |
1003 |
|
11 |
Scala |
456 |
362 |
|
12 |
Perl |
165 |
223 |
|
13 |
Go |
72 |
188 |
|
14 |
Objective-C |
89 |
81 |
|
15 |
Swift |
39 |
78 |
Во-вторых, масштабность решаемых экономических задач, массовый охват всех сфер экономики сетевыми структурами диктует строгие требования к создаваемым приложениям: быстрота, интерактивность, динамичность, инкапсуляция, масштабируемость. Все эти качества присущи тем языкам, о которых упоминалось выше. Анализ динамики вакансий специалистов-программистов за 2013-2017гг. в нашей стране (где 2013 год взят за базовую отметку в 100%)[15] (Таблица 2) показывает наибольшую востребованность программистов, владеющих языками JavaScript, Java, PHP.
Значит и современные языки - потомки этих апробированных временем языков, должны получить со временем признание у массового пользователя – разработчика различного рода приложений. В высшей школе, например, в образовательном стандарте для информационно-технологических направлений обучения за последние пять лет появился даже курс, связанный с веб-технологиями, основу которого составляют знания по применению ЯП ВУ JavaScript, PHP.
Таблица 2
Вакансии программистов в России
|
Временной интервал |
Языки программирования ВУ |
||||
|
PHP |
Java |
C++ |
C# |
JavaScript |
|
|
2013 |
100 |
100 |
100 |
100 |
100 |
|
2014 |
149 |
135 |
120 |
124 |
178 |
|
2015 |
136 |
169 |
127 |
133 |
194 |
|
2016 |
149 |
189 |
115 |
144 |
290 |
|
2017 |
260 |
257 |
151 |
208 |
462 |
ЯП ВУ Swift как раз и сочетает в себе понятность Си-подобных языков, опирается на мощную динамическую объектную модель Objective-C, не уступает по быстродействию C++ и Java, обладает доступностью по отношению к интерфейсам прикладного программирования для различных операционных систем[16].
С помощью этого нового языка программирования пользователи быстрее проверяют свои концепты и в целом быстрее создают свои приложения, так как в реализацию данного языка входит отладчик реального времени, который позволяет экспериментировать с кодом, наблюдать результаты изменений и вычислений мгновенно, без компиляции и запуска приложения.
Кроме того, тенденция настоящего времени – это многопарадигмальность (мультипарадигмальность) языков программирования высокого уровня, и Swift – не исключение. Этот язык обладает направленностью и характерными особенностями объектно-ориентированного, функционального, императивного программирования.
Другой представитель мультипарадигменной направленности – язык программирования начала века – Scala, хотя по прошествии более десятка лет с момента выхода его в свет, он занимает в рейтинге популярности не самое видное место (таблица 1), но с точки зрения вклада в другие языки, такие как Swift, заслуживает внимания. Scala разрабатывался для простого и быстрого программирования приложений, поэтому в нём органично сочетаются возможности объектно-ориентированного и функционального программирования. На формирование этого языка оказали влияние такие элегантные ЯП ВУ, как Lisp, Haskell, Java, C#, он считается языком хорошей поддержки для компонентного программного обеспечения[17].
Влияние Java на этот язык велико, на Scala можно писать программы лишь немного корректируя синтаксис Java, это тоже является плюсом, так как Java появился на десять лет раньше и следует проверенным и надёжным принципами «чистого» объектно-ориентированного программирования. Например, можно использовать Scala-коллекции из библиотек и неявные преобразования из данной коллекции в Java – коллекции, причём как в одну сторону, так и в другую сторону. Даже инструмент написания встроенных аннотаций совпадает у этих двух языков[18].
Характерная черта современного прикладного программирования – веб-направленность. Используя статистические данные, упомянутые выше (таблица 1), можно сказать, на примере PHP, языки объектно-ориентированной парадигмы и скриптовые языки для написания веб-предложений будут востребованы ближайшие годы (рис 5-6).
Рисунок 5. Прогноз востребованности PHP-программистов
Рисунок 6. Прогноз востребованности Java-программистов
Проведенные расчёты в определении прогнозных тенденций, подтверждает и разработка совершенно нового языка веб-программирования Dart, как альтернативы уже широко известному языку программирования JavaScript.
ЯП ВУ Dart – совершенно новый язык, уже относящийся к языкам, появившимся во втором десятилетии двадцать первого века. Так или иначе, но при его создании разработчики попытались избавиться от недостатков, присущих его историческим «родственникам»[19].
Этот язык относится к парадигме объектно-ориентированного программирования, но это не мешает ему быть хорошим инструментом при написании веб-приложений. Он позиционируется, как мультипарадигмальный язык программирования, и это уже новое направление в развитии современных ЯП ВУ. Кроме того, Си-подобный синтаксис упрощает его освоение. Если оценивать эффективность кода, то одним из основных критериев качества разрабатываемых программ, считается быстродействие, что не всегда присуще клиентским программам, написанным на JavaScript.
За то небольшое время с момента представления языка (2011 год), программы, созданные на Dart – высокопроизводительны и успешно работают на вычислительных устройствах широкого класса: от смартфонов до серверов. Это является подтверждением качества предлагаемого языка, который в настоящее время проходит апробацию у разработчиков. По безопасности – также важнейшему критерию современного программирования, ЯП ВУ Dart надёжнее Go и JavaScript. Безопасность веб-приложений, написанных на Dart, уже проверена и одобрена разработчиками. Имеются удобства у пользователей этого языка и в плане поддержки, отладки и модификации кода. Кроме того, 4 июля 2014 вышел первый стандарт языка Dart.
Эти аргументы говорят в пользу этого нового ЯП ВУ, что в ближайшее время он должен получить признание и у «массового программиста». Таким образом, мир прикладного программного обеспечения не стоит на месте и появление новых ЯП ВУ тому подтверждение. В настоящем веке наиболее популярными становятся скриптовые языки и языки реактивного программирования, как правило, относящиеся к мультипарадигмальной концепции и опирающиеся на Си-подобный синтаксис. Данные тенденции обусловлены новыми разноплановыми экономическим задачами, сетевыми всемирными структурами, желанием программистов иметь простой, понятный и универсальный инструмент разработки современных приложений.
Заключение
Язык программирования – это особый язык программистов для разработки программного обеспечения или это другие наборы инструкций и алгоритмов. В нынешнем веке очень много языков программирования, но по-настоящему популярны и широко востребованы только некоторые из них.
Создание языков программирования высокого уровня являлось необходимым шагом. Данные языки программирования должны были быть более совершенными, и напоминать естественные языки программирования и позволять не работать с машинными командами напрямую. Языки программирования высокого уровня призваны для того, чтобы описывать алгоритмы. Также они носят название алгоритмические языки. Их преимущество заключается в большей наглядности и независимости от конкретного компьютера.
Мы рассмотрели классификации языков программирования: по уровню, по абстракции, по поколениям, по функциональному признаку.
При анализе обзора языков программирования высокого уровня мы выявили, что на первом месте стоит Javascript, на втором месте SQL. Эти два языка наиболее популярные в 2016-2017 году.
Языки программирования высокого уровня с течением времени менялись не только в рамках модели, но изменения их носили сближающий характер относительно выделенных парадигм и функциональных возможностей языка в рамках парадигмы. Такая тенденция определилась, прежде всего, желанием разработчиков сделать «некий» универсальный язык своего времени, лучший предшественника в данном классе и ориентированный на широкий пласт современных многоцелевых задач.
ЯП ВУ Dart – совершенно новый язык, уже относящийся к языкам, появившимся во втором десятилетии двадцать первого века. Так или иначе, но при его создании разработчики попытались избавиться от недостатков, присущих его историческим «родственникам».
В настоящем веке наиболее популярными становятся скриптовые языки и языки реактивного программирования, как правило, относящиеся к мультипарадигмальной концепции и опирающиеся на Си-подобный синтаксис. Данные тенденции обусловлены новыми разноплановыми экономическим задачами, сетевыми всемирными структурами, желанием программистов иметь простой, понятный и универсальный инструмент разработки современных приложений.
Список литературы
Scala. Язык программирования [Электронный ресурс]. URL: // http://progopedia.ru/language/scala// (дата обращения 14.08.2018).