Файл: Современные языки программирования (Понятие и классификация языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 18.05.2023

Просмотров: 379

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

ЗАКЛЮЧЕНИЕ

В настоящее время существует огромное количество языков программирования. Их более 2500, но наиболее значимых – около 700, и это без учета их диалектов. Споры от том, какой среди них лучший, ведутся давно. Существует объективно наблюдаемая разница в работе программ, написанных на разных языках. В каждом языке имеет место определенная зависимость между выразительностью языка и его эффективностью, а также существует множество других критериев, по которым можно оценить язык программирования. Таким образом, задача выбора языка программирования является сложной, многокритериальной задачей с большим (теоретически бесконечным) количеством оцениваемых объектов.

Выбор «живого» перспективного языка важен и для обучения, и для написания оптимальной программы, как по производительности, так и по скорости написания и удобству дальнейшего сопровождения. С необходимостью выбора языка программирования чаще всего сталкиваются программисты при изучении первого языка программирования. В конечном счете, все зависит от того, какую область деятельность выбрать. Если работать непосредственно с железом, писать драйверы и различные приложения, для которых требуется максимальная производительность, – тогда подойдут только C или C++. Если основная цель – приложения для мобильников, стоит изучить Java или Objective C, C#. Для веб-серверов необходимы go, python и php; для веб-приложений – JavaScript.

На мой взгляд, настоящий программист никогда не ограничивается знанием только одного языка. И даже если в будущем вы собираетесь писать драйвера и системные приложения, вам всё равно пригодится какой-нибудь из скриптовых языков, таких как perl или python. Более того, знание скриптовых языков сейчас просто необходимо для любого программиста, несмотря на его специализацию.

СПИСОК ЛИТЕРАТУРЫ

  1. Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c.
  2. Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c.
  3. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.
  4. Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.
  5. Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c.
  6. Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c.
  7. Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c.
  8. Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c.
  9. Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c.
  10. Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.
  11. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с.
  12. Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c.
  13. Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21.
  14. Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c.
  15. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)
  16. Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018)
  17. 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.


  1. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.

  2. Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c.

  3. Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018)

  4. Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c.

  5. Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c.

  6. Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c.

  7. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.

  8. Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.

  9. Там же

  10. Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c.

  11. Там же

  12. Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c.

  13. Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c.

  14. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.

  15. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  16. Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c.

  17. Koenig J., Rustan K., Leino M. Programming Language Features for Refinement. EPTCS 209. – 2016. – pp. 87-106.

  18. Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.

  19. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  20. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с.

  21. Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c.

  22. Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c.

  23. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  24. Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c.

  25. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  26. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  27. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  28. Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21.

  29. Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21.