![](/stc/img/evkova.png)
Классификация языков программирования высокого уровня (Современные языки программирования и их классификация)
Содержание:
Введение
Актуальность исследования. Мир ИТ сильно поменялся за последние годы, появились новые приоритеты и технологии – вместе с ним сильно изменился процесс разработки. Сегодняшние средства разработки это совсем не те продукты, которые были лет десять назад, они построены на новейших технологиях, интегрируются со средствами групповой разработки, планирования и управления проектами, средствами оценки рисков, управления жизненным циклом приложений и позволяют создавать настоящую среду для индустриального программирования.
В настоящее время интерес к созданию новых языков программирования снизился (и в мире, и в России), а круг используемых языков стабилизировался. Наступил момент для анализа использования современных языков программирования. Результаты проведенного CNews Analytics и "Форт-Россом" исследования среди разработчиков ПО России подтвердили предположения, что языки программирования, ориентированные на интернет и интеграцию приложений, доминируют в среде разработчиков.
Целью данной работы является анализ современных языков программирования, для достижения поставленной цкли были выделеы следующие задачи:
- рассмотреть современные языки программирования и их классификация;
- изучить рейтинг и возможности современных языков программирования.
Оьбъект исследования – языки программирования.
Предмет исследования - современные языкы программирования.
Структура работы состоит из введения, основной части, заключения и списка литературы.
Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области информатики, программирования, материалы периодических изданий и сети Интернет.
Глава 1. Современные языки программирования и их классификация
1.1 Анализ современных языков программирования
Технология программирования не стоит на месте и постоянно развивается с учетом новых потребностей в сфере IT-технологий. Существуют два главных требования для языков программирования: их близость к обычному профессиональному языку определенной сферы деятельности и простота реализации. Противоречивость требований стимулирует непрерывный процесс создания новых языков и доработки существующих.
Язык программирования - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы [1].
В настоящее время ежегодно число языков программирования пополняется новыми. На сегодняшний день известно более двух с половиной тысяч языков программирования. Ниже рассматриваются несколько самых передовых языков программирования, каждый из которых решает свою определенную работу.
Язык Dart, разработанный компанией Google, как один из языков веб-программирования.
Как и в JavaScript, в Dart используются синтаксисы и ключевые слова, похожие на те, которые используются в языке C. Однако одним существенным различием является то, что в то время как JavaScript основывается на прототипах, объекты в Dart определяются с помощью классов и интерфейсов, как в C++ или Java [2].
Идея его создания основана на том, чтобы сделать язык таким же привычным, гибким и динамичным как JavaScript. Но пока, что этот язык мало где возможно использовать потому, что разработан для запуска на клиенте, либо на сервере.
Следующим новым языком программирования, разработанный компанией Google является Go. Этот язык общего назначения, создан для легкого программирования, подходящий для всего - от разработки приложений до программирования систем.
Язык больше похож на C или C++, чем на Java или C#. Однако, как и последние языки, Go включает в себя такие современные функции, как очистка памяти от ненужных данных, отражение текущих процессов выполнения и поддержку параллельности [2].
Секция «Информационно-экономические системы»
В языке Go понятия классов, конструкторов и деструкторов совершенно отсутствуют. Однако в нем присутствуют структуры, заимствованные из языка C, к которым возможна привязка функций, в связи с этим на языке Go можно создавать программы базирующихся на объектно-ориентированном программировании. Наличие функции очищение памяти от ненужных данных упрощает работу, по сравнению с C и C++. Язык Go еще в разработке, но тем не менее с ним можно уже работать.
Веб-программирование сложно тем, что для клиента, сервера, баз данных и т. д. свои отдельные языки программирования. Инженеры разработали новый язык Opa. Этот язык созданный с идеей того, чтобы связать в себя интерфейс пользователя, логику сервера и базу данных ввода-вывода. Компилятор самостоятельно решает, где запушена программа и выполняет написанный код.
Среда выполнения Opa объединяет собственный веб-сервер и систему управления базой данных, которые не могут быть заменены самостоятельными альтернативами. Opa поставляется бесплатно и на данный момент доступен для 64-х битных Linux и Mac OS X платформ, другие же порты пока разрабатываются [2].
С другой стороны в каждом языке существуют свои недостатки, которые ставят созданную на этом языке систему менее безопасной.
Для решения этой проблемы ученые нашли способ защиты такой, что позволяет защитить и веб-сайты, и компьютеры пользователей, разработав систему позволяющую использовать несколько языков программирования при создании одой программы.
Система Wyvern является чем-то вроде компилятора одного мета-языка, в состав которого входят все известные и популярные языки программирования. Эта система позволяет программистам разрабатывать веб-страницы и приложения, используя напрямую все возможности С, PHP, HTML, CSS, JavaScript и других языков, и избегая необходимости использования некоторых искусственных приемов, которые являются источниками потенциальной опасности [3].
Данная система не единственная, примерами подобных программ являются - Scheme, ProteaJ, Spoofax и OJ. Они также решают вышеперечисленные задачи.
В продолжение темы, был разработан новый язык программирования под названием Sketch. Особенность языка в том, что он позволяет при написании программ опускать некоторые участки кода, заполняя эти промежутки самостоятельно при этом оптимизируя получившиеся конструкции.
Основной идеей, реализованной в виде компилятора языка Sketch, является метод поиска оптимального решения определенной задачи. Известно, что любая логическая и математическая задача может быть решена несколькими путями, количество которых, в некоторых случаях, может стремиться к бесконечности [4].
Еще одним новым языком программирования стал - язык Wolfram Alpha.
Wolfram Language является языком, основанным на обширной базе знаний при помощи которой можно создавать достаточно сложные приложения, не прибегая к процессу традиционного программирования. Wolfram Language является языком, опирающимся на огромную базу знаний, в которой заключены все типовые вычислительные операции [5].
Рассмотрев современные языки программирования, некоторые из которых внедряются в программирования, некоторые еще дорабатываются можно сделать выводы о том, что в настоящее время, имея базу из двух с половиной тысяч языков программирования нет ни одного универсального. Пока такая задача не стоит, поэтому на этом этапе можно выделить систему Wyvern, система, позволяющую использовать несколько разных языков программирования при создании одной программы. Можно предположить, что хотя бы один из рассмотренных языков заменит в будущем популярных в настоящее время языков программирования.
1.2 Классификация языков программирования
Существуют различные классификации языков программирования.
По наиболее распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня.
Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.
Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году),Пролог (в основе языка лежит аппарат математической логики) и т.д.
Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.
Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы.
Существует три вида транслятора: интерпретаторы (это транслятор, который производит пооператорную обработку и выполнение исходного кода программы), компиляторы (преобразует всю программу в модуль на машинном языке, после чего программа записывается в память компьютера и лишь потом исполняется) иассемблеры (переводят программу, записанную на языке ассемблера, в программу на машинном языке).
Языки программирования также можно разделять на поколения:
– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
Языки программирования также можно классифицировать на процедурные и непроцедурные.
В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, К непроцедурному программированию относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор предикатов–утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий.
Можно выделить еще один класс языков программирования – объектно–ориентированные языки высокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно–ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме.
Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.
Ява – язык для программирования Internet, позволяющий создавать безопасные, переносимые, надежные, объектно–ориентированные интерактивные программы. Язык Ява жестко связан с Internet, потому, что первой серьезной программой, написанной на этом языке, был браузер Всемирной паутины.
В последнее время, говоря о программировании в Internet, часто имеют в виду создание публикаций с использованием языка разметки гипертекстовых документов HTML. Применение специальных средств (HTML–редакторов) позволяет не только создавать отдельные динамически изменяющиеся интерактивные HTML–документы, используя при этом данные мультимедиа, но и редактировать целые сайты.
Глава 2. Рейтинг и возможности современных языков программирования
2.1 Рейтинг языков программирования 2015 года
Для программистов наступили благодатные времена. Не даром Департамент трудовой статистики Минтруда США прогнозирует восьмипроцентный рост востребованности профессии программиста в ближайшие семь лет, пишет Mashable. С помощью директора по контенту образовательной онлайн-платформы Lynda Дуга Винни, издание определило самые востребованные языки программирования в 2015 году.
1. Java
Java является одним из самых популярных языков для бэкэнд-разработки современных корпоративных веб-приложений. С Java и основанными на нём фреймворками разработчики могут создавать масштабируемые веб-приложения для широкого круга пользователей. Java — также основной язык, используемый для разработки родных Android-приложений для смартфонов и планшетов.
2. JavaScript
Каждый современный сайт использует JavaScript. Это ключевой язык для создания интерактивности сайта или построения пользовательских интерфейсов с одним из десятка популярных JavaScript-фреймворков.
3. C#
C # является основным языком для разработки на платформах и сервисах Microsoft. Будь то разработка современных веб-приложений с использованием Azure и .NET, приложений для «девайсов» Windows или мощных «настольных» приложений для бизнеса, C# — самый быстрый способ использовать всё, что может предложить Microsoft. Кроме того, это и один из основных языков движка для разработки игр Unity.
4. PHP
Пишите веб-приложение для работы с данными? Язык PHP наряду с базами данных (например, MySQL) является важным инструментом для создания современных веб-приложений. На PHP разработано большинство сайтов, ориентированных на большой объём данных. Это также основополагающая технология мощных систем управления контентом, как WordPress.
5. С++
Если для максимальной отдачи мощности процессора вам необходимо подключиться непосредственно к железу, поможет язык C++. Это идеальный выбор для разработки мощного «настольного» программного обеспечения, игр с функцией аппаратного ускорения, а также приложений для ПК, консолей и мобильных устройств, требующих большого объёма памяти для работы.
6. Python
Python может сделать почти всё вышеперечисленное. Веб-приложения, пользовательские интерфейсы, анализ данных, статистика — для какой бы задачи вам не предстояло найти решение, в Python, скорее всего, найдётся подходящий фреймфорк. Совсем недавно учёные пришли к выводу, что Python модно использовать в качестве основного инструмента для обработки гигантских объёмов данных практически в любой отрасли.
7. C
Почему язык C по-прежнему популярен? Из-за размера: маленький, быстрый и мощный. Если вы разрабатываете программное обеспечение для встраиваемых систем, работаете с системными ядрами или просто хотите выжать из имеющихся по рукой ресурсов всё до последней капли, C — то, что нужно.
8. SQL
Данные — всеобъемлющие и всепроникающие. SQL даёт возможность найти необходимую информацию быстрым и надёжным способом. Используя SQL, вы можете легко запрашивать и извлекать значительные объёмы данных из больших и сложных баз данных.
9. Ruby
Хотите запустить проект в рекордно короткие сроки или создать прототип новой идеи для крутого веб-приложения? С помощью Ruby (и Ruby on Rails) это возможно довольно быстро. Обладая невероятной мощностью, язык прост в освоении. Плюс на нём написаны тонны популярных веб-приложений по всему миру.
10. Objective-C
Собираетесь написать приложение для iOS? Тогда вы просто обязаны знать Objective-C. Несмотря на прошлогоднюю шумиху вокруг нового языка Apple Swift, Objective-C по-прежнему остаётся основополагающим языком приложений для экосистемы Apple. С Objective-C и официальным инструментом разработки ПО от Apple XCode до App Store — рукой подать.
11. Perl
Можно ли назвать Perl эзотерическим языком? Да. Сбивает ли он с толку? Да. Является ли он супермощным языком и ключевым компонентом в арсенале кибербезопасности? Снова да. Разработчики используют Perl с самых истоков интернета, и он до сих пор считается ключевым инструментом для любого ИТ-специалиста.
12. .NET
Хотя и не язык сам по себе, .NET является ключевой платформой Microsoft для разработки облачных и не очень сервисов и приложений. Становится более продвинутым и ценным с каждым новым релизом. Благодаря последним усилиям Microsoft в области разработки с открытым исходным кодом, .NET теперь приходит на платформы Google и Apple. Как результат, вы можете использовать .NET с различными языками программирования для создания мультиплатформенных приложений.
13. Visual Basic
Ключевой язык .NET-платформы, Visual Basic позволяет создавать приложения для поддержки бизнеса, а также автоматизировать мощные приложения MSOffice.
14. R
R двигает революцию больших данных. В 2015 году это обязательный язык для всех, кто нуждается в серьёзном анализе данных: от сфер науки и бизнеса до развлечений и социальных медиа.
15. Swift
За менее чем год существования язык программирования Swift привлёк внимание разработчиков во всём мире как новый, простой и быстрый способ разработки для операционных систем OS X и iOS. Широкие полномочия и дружественный синтаксис Swift позволяют написать очередное убойное приложение для пользователей Apple.
2.2 Возможности языков программирования
Еще полвека назад трудно было представить, каких возможностей можно добиться при помощи совершенствования аппаратных средств, сред разработки пользовательских приложений и поддерживаемых этими средами ЯП ВУ. Чтобы понять, как совершенствовать технологию решения прикладных задач с помощью современных вычислительных устройств необходимо не только знать современные потребности объективного мира, но и способы повышения функциональности языков программирования. Последний компонент является прекрасным объектом для изучения и исследования студентами, обучающимися по информационным направлениям подготовки.
История развития языков программирования высокого уровня довольно обширна и весьма разнообразна, её начало принято относить к середине прошлого века - моменту создания первого языка программирования высокого уровня «Фортран»[6]. Именно с появлением ЯП ВУ компьютеры начали реализовывать весь свой потенциал. Языки программирования высокого уровня помогли сделать программы более понятными и читаемыми, позволили обрабатывать очень длинные запросы, ввод программного кода стал интуитивнее для пользователя.
C ростом потребностей в расчетах появились новые задачи для компьютеров, вследствие чего, языки программирования стали быстро модифицироваться. Программы стали сложнее, были попытки создать универсальный язык программирования, например такой, как ПЛ/1. В то время это оказало лишь обратное действие на пользователей прикладного программного обеспечения. Ввиду громоздкости управляющих конструкций языка и сложности для понимания концепции вычислительной модели, язык, не смотря на то, что изучался в вузах и использовался для инженерных расчётов, так и не получил широкого распространения. Вывод был очевиден: тяжело реализовать сложную конструкцию с простым интерфейсом, ориентированную «на всё».
Кроме того, эволюционируя, языки программирования получали все больше математических функций: рекурсия, массивы, использование локальных переменных. В связи с этим были заложены основные языки программирования, базой которых мы пользуемся до сих пор, а именно: COBOLPascal, C. Параллельно развивались логические языки, такие как, Prolog(1972), но в силу своих функциональных особенностей они использовались редко и не для инженерно- технических расчётов.
Следующая веха развития программирования - появление процедур и функций в структурном программировании, что позволило объединить разнородные данные и сделать программы автономными и управляемыми. На этом этапе развития языков программирования было выявлено: когда программа достигает определенной длины, то она уже не может обрабатывать правильно сложные запросы. Примером языка, в котором проявился этот недостаток, является ЯП ВУ «Simula - 67».
Развитие структурирования привело к появлению классовых структур, где программы разбиваются на классы - структуры данных, содержащие в себе переменные и функции, которые работают с этим переменными. Такой подход послужил к объектно-ориентированному программированию, которое содержало в себе такие концепты, как полиморфизм, инкапсуляция и наследование. Примерами могут служить языки Java, Oberon, C++ . Это и есть апогей развития языков программирования, данные языки относятся к прошлому столетию, но актуальность их не потеряна и в настоящее время. Эти языки можно совершенствовать и брать за основу их концепции, чтобы попробовать достичь каких-либо преимуществ во вновь создаваемых инструментах написания программного кода. Надо отметить, что первые версии языков с незначительной доработкой являются базовыми при начальном обучении технологии программирования бакалавров.
Языки создаются и эволюционируют постоянно. Их влияние нельзя недооценивать на обработку современных научно- технических расчетов, на моделирование сложных процессов и систем в различных прикладных областях экономической деятельности человечества. Эволюцию и взаимовлияние ЯП ВУ задаёт генеалогическое дерево[6].
Какие же новые вычислительные модели и возможности заложены и будут являться перспективными в ближайшее время в современных языках программирования высокого уровня?
Одним из ярких представителей языков нового времени является язык Elm. Ключевая особенность этого языка - отладчик реального времени: можно изменять код в реальном времени и наблюдать, как меняется тот или иной параметр. Все действия записываются, перематываются и переигрываются.
Elm - функциональный язык программирования для создания GUI - Graphical User Interface , использующий синтаксис в стиле функционального языка программирования «Haskell». Родственные связи этих языков показаны на схеме (рис. 1 ).
Рис. 1 - Связи языка Elm
Этот функциональный язык удобен и прост - программный код в несколько строк обеспечивает пользователю возможность рисования мышью любой фигуры в клиентской программе или в окне браузера. Интересна вычислительная модель реактивного функционального программирования - Functional Reactive Programming (FRP), положенная в основу данного языка. Данная парадигма ориентирована на работу с динамическими потоками данных и позволяет создавать приложения с высокой степенью интерактивности. Концепция FRP впервые была предложена Коналом Эллиоттом (Conal Elliott) при разработке функционального предметно-ориентированного языка для программирования анимации[3].
Кроме того, Elm в современной практике программирования успешно используется для разработки веб-приложений. Исходный код, написанный с помощью этого языка, легко компилируется в коды HTML, CSS и JavaScript и органично встраивается в программный блок на странице сайта.
Необходимо отметить, что на сегодняшний день парадигма функционального программирования претерпевает подъём и другим представителем этого направления, заслуживающим внимания, является язык Swift от компании Apple. Этот язык направлен на развитие интерактивности приложения с мобильными устройствами и в какой- то степени аналогичен Elm.
Если рассмотреть генеалогические связи этого языка (рис. 2), то можно выделить конкретные преимущества данного ЯП ВУ.
Рис. 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).
- Системный подход в менеджменте
- Моделирование бизнес-процесса страхования гражданской ответственности.
- Разработка проекта подсистемы автоматизации складского учета (Технико-экономическая характеристика предметной области)
- Отладка и тестирование программ: основные подходы и ограничения (Принципы тестирование и отладка программного обеспечения)
- Принципы и основания наследования
- Особенности и примеры использования массивов при разработке программ
- Понятие правонарушения ( Общая характеристика правонарушений)
- Проектирование организационной структуры управления для Общества с ограниченной ответственностью «Моноритм НТ»
- Анализ структуры торгового ассортимента (Теоретические основы формирования товарно-ассортиментной политики торговой компании)
- Коммерческая деятельность розничного торгового предприятия и ее совершенствование (на примере ООО «Лента») (Теоретические аспекты организации коммерческой деятельности)
- Психологический контракт и приверженность сотрудников к организации.
- Разработка конфигурации «Планирование закупок и размещение заказов поставщикам» в среде 1С:Предприятие 8.3. (Характеристика системы «1С:Предприятие»)