Файл: Классификация языков программирования высокого уровня (Современные языки программирования и их классификация).pdf
Добавлен: 28.03.2023
Просмотров: 43
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Современные языки программирования и их классификация
1.1 Анализ современных языков программирования
1.2 Классификация языков программирования
Глава 2. Рейтинг и возможности современных языков программирования
2.1 Рейтинг языков программирования 2015 года
Рис. 2 - Структурные связи Swift
Swift сочетает в себе понятность именованных параметров и мощь динамической объектной модели Objective-C, а также открывает доступ к уже существующим интерфейсам прикладного программирования для различных операционных систем [7].
Этот новый язык программирования начала двадцать первого века, как и язык Elm, имеет отладчик реального времени, который позволяет экспериментировать с кодом, наблюдать результаты вычислений в настоящем времени без необходимости компилировать и запускать приложение. Это значит, что пользователи быстрее проверяют свои концепты и в целом быстрее создают свои приложения. Поэтому, при обучении студентов парадигме объектно- ориентированного программирования на примере данного языка можно отлично показать поступательность развития ЯП ВУ.
Кроме того, скорость реализации некоторых алгоритмов на Swift в 3,9 раза выше, чем на Python, и лаконичней, ввиду того, что в языке максимально искоренён такой недостаток как многословность, присущая Objective-C [1].
Если рассмотреть программные продукты ведущих корпораций - разработчиков современного программного обеспечения, то интересен для исследования обучаемыми язык программирования высокого уровня «Go» от корпорации Google (рис.3).
Рис. 3-Связи языка Go
Go -компилируемый, многопоточный язык программирования. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались авторы, стоявшие у истоков создания языка C и операционной системы UNIX: Роберт Гризмер, Роб Пайк и Кен Томпсон [4].
В языке Go реализованы различные удобства: множественные возвраты из функций, простота представления и лёгкость работы со строками, что привлекает к этому приятному ЯП ВУ новых почитателей и программистов.
Многоядерность, охватившая мир вычислительной техники нынешнего столетия, наложила отпечаток и на этот язык. Язык Go обладает особенностью - он предназначен для поддержания параллельного выполнения на нескольких процессорах (ядрах) разработанных на нём пользовательских приложений, Для этого любую функцию можно запустить выполняться в отдельном потоке (оператором Go). Параллельно выполняющиеся ветви ведут себя как сопрограммы, и могут обмениваться между собой синхронными сообщениями через двунаправленные каналы. Через каналы могут передаваться данные любых типов.
Как показывает анализ родственных связей, язык программирования высокого уровня «Go» опирается на мощный фундамент языков С и С++, а также поддержку компании Google, одной из самых крупных ИТ-компаний на сегодняшний день.
Веб-программирование - тот раздел программирования, к которому студенты испытывают огромный интерес, поэтому стоит обратить внимание на современные ЯП ВУ Dart и TypeScript, как альтернативу уже широко известному языку программирования JavaScript.
Dart - действительно новый язык и при его разработке были учтены следующие аспекты, которые так или иначе мешали его «родственникам» (рис. 4).
Рис. 4 - Генеалогические связи языка Dart
Во-первых, этот язык структурированный, и в то же время ориентирован на разработку веб-программ.
Во-вторых, он приемник уже существующих языков JavaScript, Go - которые популярны среди разработчиков программного кода, и переход к Dart и обучение ему, естественно, упрощается. Как и в JavaScript, в Dart используется синтаксис похожий на язык C. Но различие в том, что JavaScript основывается на прототипах, тогда как объекты в Dart определяются при помощи классов и интерфейсов(как в C++ или Java). Также Dart позволяет дополнительно задать переменные со статическими типами.
Как показывает короткий промежуток существования этого языка, он становится столь же привычным, динамичным и гибким языком, как и JavaScript, а написанные на нём коды - быстрее и легче в выполнении. Кроме того, созданные на этом языке программы - высокопроизводительны и успешно работают на вычислительных устройствах широкого класса: от смартфонов до серверов. Очень важен для любого ЯП ВУ стандарт, и 4 июля 2014Ассоциацией стандартизации информационных и коммуникационных технологий была одобрена первая редакция стандарта языка [5].
Кроме компании Google, компания Microsoft представила свой аналог JavaScript - TypeScript (рис. 5).
Рис. 5 - Связи языка TypeScript
TypeScript - язык программирования, как уже было отмечено выше, может позиционироваться как средство разработки веб- приложений, расширяющее возможности JavaScript. Разработчиком языка TypeScript является Андерс Хейлсберг, создавший ранее Tur- boPascal, Delphi и C#.
Язык работает в любом браузере, поддерживается в таких популярных средах визуального программирования, как Microsoft Visual Studio, и совместим с некоторыми JavaScript-библиотеками, среди которых jQuery. Язык TypeScript является обратно совместимым с JavaScript (может легко компилироваться в этот язык) [2].
TypeScript отличается от JavaScript возможностью явного определения типов (статическая типизация), поддержкой использования полноценных классов (как в традиционных объектно- ориентированных языках), а также поддержкой подключения модулей.
Перечисленные факторы повышают скорость разработки, читаемость, повторное использование кода, осуществление поиска ошибок на этапе разработки и компиляции, что делает привлекательным этот современный язык для обучения студентов начальным навыкам веб-программирования.
Выявленные тенденции в развитии ЯП ВУ показывают, что в настоящее время, опираясь на своих предшественников, беря от них лучшее, языки программирования стали шире по своей функциональной направленности и проще для восприятия пользователей.
К тому же, появились совершенно новые языки, которые ориентированы исключительно на разработку мобильных приложений с учетом особенностей архитектуры устройства и языки-инструменты, которые значительно упрощают работу с веб-приложениями, что характерно для нового времени.
Следует отметить, что все ЯП ВУ объединяет стремление предоставить пользователю удобный синтаксис, простоту генерации кода и быструю реализацию решения задачи в соответствующей среде программирования.
Прикладная наука развивается в эпоху межсетевых отношений и больших хранилищ данных[8-12]. Современные студенты, пользователи (и, возможно, будущие разработчики) интернет-сервисов и веб- технологий, баз данных и баз знаний, банков данных, должны уметь выбирать правильные и эффективные инструменты решения прикладных задач, мыслить категориями современных языков программирования.
Заключение
Что бы быть современным язык программирования должен отвечать всем современным требованиям и соответствовать тем задачам, которые встают перед программистом сегодня. Именно поэтому в рассмотренных языках программирования представлено большинство методов и способов решения задач по созданию систем обработки информации.
Сегодня предоставляемое программисту многообразие возможностей позволяет, начиная новый проект любой сложности, выбрать язык программирования наиболее подходящий для его реализации. При выборе языка программирования необходимо учитывать требования проекта к скорости работы, потребляемым ресурсам, необходимости кроссплатформенного использования, а также сроки реализации проекта. Кроме того, для некоторых проектов может стать существенным фактор популярности языка программирования. Для популярного языка имеется, как правило, большое количество учебной и справочной литературы, кроме того, использованный язык программирования может стать решающим фактором при выборе программы конечным пользователем. Не менее важно при выборе языка программирования учитывать опыт других разработчиков при решении похожих задач, это поможет избежать типичной ошибки - «изобретение колеса».
Рассмотрев основные концепции современных языков программирования можно выделить несколько наиболее актуальных задач стоящих сегодня перед программистами: Проектирование межплатформенных приложений - не зависящих от используемой платформы. Разработка Интернет-приложений - работающих через Интернет, но не поддерживаемых браузером непосредственно. Создание Web-приложений - клиент-серверных архитектур. Возможность быстрого создания приложений и средств автоматизации. Также актуальны приложения полностью и эффективно использующие все ресурсы современных платформ.
Список литературы
- Артюшенко, В. М. Системный анализ в области управления и обработки информации: монография [Текст] / В.М. Артюшенко, Т.С. Аббасова, Ю.В. Стреналюк, Н.А. Васильев, И.М. Белюченко, К.Л. Самаров, В.Н. Зиновьев, С.П. Посеренин, Г.Г. Вокин, А.П. Мороз, В.С. Шайдуров, С.С. Шаврин /под науч. ред. док.техн. наук, проф. В.М. Артюшенко. - Королев МО: МГОТУ, 2015. - 168 с.
- Артюшенко, В. М. Информационные технологии и управляющие системы: монография [Текст] / В.М. Артюшенко, Т.С. Аббасова, Ю.В. Стреналюк, В.И. Привалов, В.И. Воловач, Е.П. Шевченко, В.М. Зимин, Е.С. Харламова, А.Э. Аббасов, Б.А. Кучеров /под науч. ред. док.техн. наук, проф. В.М. Артюшенко. - М.: Издательство «Научный консультант», 2015. - 185 с.
- Артюшенко, В. М.Современные направления развития корпоративных сетей спутниковой связи[Текст] / В.М. Артюшенко, Т.С.Аббасова, Б.А. Кучеров // Двойные технологии. - 2014. - №3(68). - С.67-72.
- Зачем язык программирования Swift нужен Apple и вам: [Электронный ресурс] // Lookatme.URL: http://www.lookatme.ru/mag/ live/inspiration-lists/204771 -swift
- Исаева, Г. Н. Об индуктивном подходе к приобретению знаний в экспертных системах управления персоналом [Текст] / Г.Н. Исаева // Вопросы региональной экономики - 2010. Т.5. - С. 100-105.
- Когтев, П.А. Определение местоположения объектов в помещениях ВУЗа с помощью технологии ZigBee[Текст] /П.А.Когтев, Н.В.Логачева, Г.Н.Исаева // Перспективы, организационные формы и эффективность развития сотрудничества российских и зарубежных ВУЗов.Сборник материалов Международной научно-практической конференции 24-25 апреля 2014 г.: Королев МО: ФТА. Изд-во «Канцлер», 2014. - С.357-363.
- Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript: [Электронный ресурс] // OpenNet.URL: http:// www.opennet.ru/opennews/art.shtml?num=34981
- Новости свободного ПО: [Электронный ресурс] // Компьютерные вести.иКЬ: http://www.kv.by/content/325304-novostisvobo dnogo-po
- Олег Цилюрик. Сравнительное обозрение языков программи- рования[Электронный ресурс] // Редакция 2.31. 2014 год. - 78с.
- Сайт о языке программирования Dart - руководства, инструкции, новости, статьи и многое другое: [Электронный ресурс] // dartdot.ru.URL: http://dartdot.ru/
- Свердлов,С. З. Языки программирования и методы трансляции [Текст] / С.З. Свердлов // Питер: 2007 .
- Язык Wolfram Alpha - революция в области программирования // DailyTechlnfo [Электронный ресурс]. URL: http://www.dailytechinfo.org/infotech/5709-yazyk-wolfram-alpha-revolyuciya-v- oblasti-programmirovaniya.html (дата обращения: 09.05.2016).
- Язык программирования Swift. Русская версия: [Электронный ресурс] // Хабрахабр.URL: http://habrahabr.ru/post/225841/
- Языки программирования [Электронный ресурс]. URL: http://life-prog.ru (дата обращения: 08.05.2016).
- McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10-yazykov- programmirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 08.15.2016).
- Sketch - новый язык программирования, способный самостоятельно оптимизировать и завершать незаконченные участки кода // DailyTechlnfo [Электронный ресурс]. URL: http://www. dailytechinfo.org/infotech/5691-sketch-novyy-yazyk-programmirovaniya-sposobnyy-samostoyatelno- optimizirovat-i-zavershat-nezakonchennye-uchastki-koda.html (дата обращения: 09.05.2016).
- Wyvern - новая система, позволяющая использовать несколько разных языков программирования при создании одной программы // Daily Techlnfo [Электронный ресурс]. URL: http://www.dailytechinfo.org/infotech/6167-wyvern-novaya-sistema-pozvolyayuschaya-ispolzovat-neskolko- raznyh-yazykov-programmirovaniya-pri-sozdanii-odnoy-programmy.html (дата обращения: 08.05.2016).