Файл: Современные языки программирования (Понятие и классификация языков программирования).pdf
Добавлен: 18.05.2023
Просмотров: 385
Скачиваний: 4
В будущем можно ожидать новые операционные системы и языки программирования, разработанные с внедрением технологий виртуализации, так как они внедрилась не только в процесс создания прикладных программ, но и в процесс разработки оборудования. Но на данном этапе, можно предположить, что хотя бы один из рассмотренных перспективных языков в будущем заменит существующие стандартные языки программирования.
ЗАКЛЮЧЕНИЕ
В настоящее время существует огромное количество языков программирования. Их более 2500, но наиболее значимых – около 700, и это без учета их диалектов. Споры от том, какой среди них лучший, ведутся давно. Существует объективно наблюдаемая разница в работе программ, написанных на разных языках. В каждом языке имеет место определенная зависимость между выразительностью языка и его эффективностью, а также существует множество других критериев, по которым можно оценить язык программирования. Таким образом, задача выбора языка программирования является сложной, многокритериальной задачей с большим (теоретически бесконечным) количеством оцениваемых объектов.
Выбор «живого» перспективного языка важен и для обучения, и для написания оптимальной программы, как по производительности, так и по скорости написания и удобству дальнейшего сопровождения. С необходимостью выбора языка программирования чаще всего сталкиваются программисты при изучении первого языка программирования. В конечном счете, все зависит от того, какую область деятельность выбрать. Если работать непосредственно с железом, писать драйверы и различные приложения, для которых требуется максимальная производительность, – тогда подойдут только C или C++. Если основная цель – приложения для мобильников, стоит изучить Java или Objective C, C#. Для веб-серверов необходимы go, python и php; для веб-приложений – JavaScript.
На мой взгляд, настоящий программист никогда не ограничивается знанием только одного языка. И даже если в будущем вы собираетесь писать драйвера и системные приложения, вам всё равно пригодится какой-нибудь из скриптовых языков, таких как perl или python. Более того, знание скриптовых языков сейчас просто необходимо для любого программиста, несмотря на его специализацию.
СПИСОК ЛИТЕРАТУРЫ
- Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c.
- Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c.
- Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.
- Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.
- Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c.
- Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c.
- Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c.
- Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c.
- Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c.
- Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.
- Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с.
- Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c.
- Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21.
- Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c.
- McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)
- Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018)
- Koenig J., Rustan K., Leino M. Programming Language Features for Refinement. EPTCS 209. – 2016. – pp. 87-106.
ПРИЛОЖЕНИЕ
Обзор современных языков программирования
|
Языки программирования |
Обзорная информация |
|
Язык Dart (компания Google) |
Объекты в Dart определяются с помощью классов и интерфейсов, как в C++ или Java. Идея его создания основана на том, чтобы сделать язык таким же привычным, гибким и динамичным как JavaScript. |
|
Go (компания Google) |
Создан для легкого программирования, подходящий для всего - от разработки приложений до программирования систем. Язык больше похож на C или C++, чем на Java или C#. Однако, как и последние языки, Go включает в себя такие современные функции, как очистка памяти от ненужных данных, отражение текущих процессов выполнения и поддержку параллельности. |
|
Ора |
Создан для того, чтобы связать в себя интерфейс пользователя, логику сервера и базу данных ввода-вывода. Компилятор самостоятельно решает, где запушена программа и выполняет написанный код. Среда выполнения Opa объединяет собственный веб-сервер и систему управления базой данных, которые не могут быть заменены самостоятельными альтернативами. Opa поставляется бесплатно и на данный момент доступен для 64-х битных Linux и Mac OS X платформ, другие же порты пока разрабатываются. |
|
Sketch |
Позволяет при написании программ опускать некоторые участки кода, заполняя эти промежутки самостоятельно при этом оптимизируя получившиеся конструкции. Основной идеей, реализованной в виде компилятора языка Sketch, является метод поиска оптимального решения определенной задачи. Известно, что любая логическая и математическая задача может быть решена несколькими путями, количество которых, в некоторых случаях, может стремиться к бесконечности. |
|
Wolfram Alpha |
Основан на обширной базе знаний при помощи которой можно создавать достаточно сложные приложения, не прибегая к процессу традиционного программирования. Wolfram Language является языком, опирающимся на огромную базу знаний, в которой заключены все типовые вычислительные операции. |
|
Elm |
функциональный язык программирования, ориентированный на удобство и простоту использования, который компилируется в высокопроизводительный JavaScript-код. Вы можете использовать его, в том числе и совместно с JavaScript, для создания пользовательских интерфейсов в интернете. Основными преимуществами Elm по сравнению с JavaScript являются надёжность, лёгкость в поддержке и нацеленность на удовольствие от программирования. Elm код также может взаимодействовать с JavaScript. |
|
Rust |
является языком системного программирования, который сочетает в себе эффективность C и контроль над памятью с функциональными возможностями, такими как сильная статическая типизация и вывод типов. |
|
Kotlin |
представляет собой статически типизированный язык, который ориентирован на JVM и JavaScript. Kotlin родился из потребности JetBrains, которая искала новый язык для разработки своего набора инструментов (который был в основном написан на Java). Что-то, что позволило бы им использовать существующую кодовую базу и в то же время решить некоторые проблемы, которые возникали из-за Java. И именно решения этих распространенных недочётов, встречающихся при написании программного обеспечения, определили большую часть характеристик Kotlin. |
|
Crystal |
является языком программирования общего назначения с девизом “Быстр как C, привлекателен как Ruby." Это высокоуровневый, статически типизированный, компилируемый, полностью объектно-ориентированный язык программирования с передовым выводом типов и сборкой мусора. Crystal имеет уникальные функции, такие как: Crystal использует каналы, вдохновленные CSP (так же, как Go) для достижения конкурентности; Crystal использует макросы, чтобы избежать шаблонного кода и обеспечить возможности метапрограммирования; команда crystal сама по себе полнофунциональна и поставляется с большим количеством встроенных инструментов. Она используется для создания нового проекта, компиляции, запуска тестов и многого другого. |
|
Elixir |
является функциональным языком общего назначения, предназначенным для повышения производительности, масштабируемости и эксплуатационной надежности. В то время как язык является относительно новым, он компилируется в байт-код, который выполняется на виртуальной машине Erlang (BEAM). Erlang VM родилась в телекоммуникационной отрасли, развивается в течение почти 25 лет и стоит за многими сложными системами с высокой доступностью и низкой задержкой. В настоящее время Elixir в основном используется для создания веб-приложений с использованием как Cowboy (низкоуровневый HTTP-сервер), так и Phoenix (полнофункциональный фреймворк для разработки веб-приложений). Кроме того, Elixir пробивается в нишу встраиваемых систем благодаря фреймворку Nerves. |
-
Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c. ↑
-
Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c. ↑
-
Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018) ↑
-
Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c. ↑
-
Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c. ↑
-
Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c. ↑
-
Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c. ↑
-
Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c. ↑
-
Там же ↑
-
Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c. ↑
-
Там же ↑
-
Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c. ↑
-
Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c. ↑
-
Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c. ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c. ↑
-
Koenig J., Rustan K., Leino M. Programming Language Features for Refinement. EPTCS 209. – 2016. – pp. 87-106. ↑
-
Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c. ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с. ↑
-
Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c. ↑
-
Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c. ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c. ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) ↑
-
Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21. ↑
-
Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21. ↑