Файл: «Современные языки программирования»(Введение в языки программирования ).pdf

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

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

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

Добавлен: 13.03.2024

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

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

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

Выйдя за пределы коммерческих приложений, машинное обучение уже оказало огромное влияние на научные исследования, управляемые данными. Различные инструменты в данной области используются для решения различных научных задач (исследование звезд, поиск далеких планет, открытие новых частиц, анализ последовательностей ДНК, а также разработка персонализированных методов лечения рака). Для извлечения прибыли с помощью машинного обучения совсем необязательно, чтобы ваши задачи были столь же крупномасштабными или меняющими мир.[31]

Чаще всего, для многих сверх применения науки о данных (data science) используется Python. Он сочетает в себе мощь языков программирования с простотой использования предметно-ориентированных скриптовых языков типа MATLAB или R. В Python есть библиотеки для загрузки данных, визуализации, статистических вычислений, обработки естественного языка, обработки изображений и многого другого. Этот обширный набор инструментов предлагает специалистам по работе с данными (data scientists) большой набор инструментов общего и специального назначения. Одним из основных преимуществ использования Python является возможность напрямую работать с программным кодом с помощью терминала или других инструментов типа Jupyter Notebook. Машинное обучение и анализ данных – это в основном итерационные процессы, в которых данные задают ход анализа. Крайне важно для этих процессов иметь инструменты, которые позволяют оперативно и легко работать.[32]

В качестве языка программирования общего назначения Python позволяет создавать сложные графические пользовательские интерфейсы (GUI) и веб-сервисы, а также легко интегрироваться в уже существующие системы.

Рисунок 6. Простейший пример реализации машинного обучения с помощью нейронных сетей

2.2.3 Скриптовые языки и технологии их применения

JavaScript продолжает развиваться с невероятным темпом. Из года в год новые стандарты ускоряет разработку веб-браузеров. Стандарт ES2017 не исключение. Его приход принес JavaScript такую особенность, как async/await для асинхронных вычислений.

В конце прошлого года был выпущен TypeScript 2.1, который позволил использование async/await в старых браузерах. Помимо этого, были улучшены интерфейсы. TypeScript – язык программирования-надростройка со статически типизацией, который компилируется в JavaScript. В нем заключены такие мощные особенности, как статическая типизация и классическая модель объектно-ориентированного программирования, что в разы облегчает поддержку больших проектов. К слову, ныне популярный текстовый редактор от Microsoft Visual Studio Code написан тех же TypeScript и JavaScript. Исходный код данного редактора можно найти в репозитории на GitHub.[33]


Python 3.6 был выпущен в декабре этого года. Данный язык программирования предназначен для разработчиков и ученых в разных направлениях. Возможности данного языка не имеет границ: начиная с разработки бек-енд веб-приложения, и заканчивая разработкой ныне популярного искусственного интеллекта

2.2.3 Enterprise

В 2017-м году произошел выпуск C# 7.0, который принес с собой не мало нововведений, к примеру кортежи, шаблоны, члены класса в виде выражений и т.п. Вместе с тем был открыт и код .Net Core. Появилась возможность развертывать программное обеспечение на таких платформах как Windows, Linux и MacOS, что позволяют писать быстрые и производительные приложения на том же C#. Также пришло обновление Visual Studio 2017, которая непосредственно поддерживает технологии выше.

Не обошлось и без выпуска Java 9. Появилась новые функции как REPL (интерактивная оболочка), поддержка HTTP 2.0 и новые API. Сейчас существует большой спрос на талантливых Java-разработчиков в различные проекты, где используется этот язык. Если Java – это не ваше, то есть несколько других языков программирования, использующих JVM (Java Virtual Machine – виртуальная машина Java). Например, Kotlin и Scala.

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

Что касается технологий, мысленно объять их количество просто не представляется возможным. Данная проблема медленно, но уверенными шагами начинает исправлять в виде стандартизаций инструментов разработки в единое пространство, что позволит меньше думать над выбором фреймворков, а больше над разработкой программного обеспечения.

Заключение

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


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

Без языков программирования невозможна разработка программного обеспечения, но смысла в них не много, когда не знаешь, что именно разрабатывать. Популярные тренды и их технологии появляются с каждым днем: какие-то из них популярны, но быстро угасают, другие остаются на плаву десяток лет. Что самое интересное, именно технологии заставляют языки программирования становится современными, ведь даже те же языки ассемблера до сих пор используется и будут использоваться из-за популярности низкоуровневых отраслей, таких как робототехника, либо контроллеры бытовой техники.

Вышесказанное наводит на мысль, что, какими бы ни были языки современными, они все равно остаются лишь инструментом, который завязан на всей цепи разработки, а на нее влияет, непосредственно, и сам разработчик – человек.

Список использованной литературы

  1. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 241-250
  2. Гедравнович В.В., Змеева Ю.В., Абрамович А.О. Основы информатики и вычислительной техники – Минск, Изд-во
  3. Джош Локхарт. Современный PHP. Новые возможности и передовой опыт / пер. с англ. Рагимов Р.Н – М.: ДМК Пресс, 2016, с. 20
  4. Керниган, Брайан У., Ритчи, Деннис М. Язык программирования C, 2-е издание. : Пер. с англ – М. : Издательство дом "Вильямс", 2009, с. 15-17
  5. Мюллер Андреас, Гвидо Сара, Введение в машинное обучение с помощью Python/ Москва 2016-2017, с. 13-18
  6. Роберт И. Кабаков. R в действии. Анализ и визуализация данных в программе R / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. с. 27
  7. Саммерфилд М. Программирование на Python 3. Подробное руководство. – Пер. с англ. – СПб.: Символ-Плюс, 2009, с. 13
  8. Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Язык программирования C#. Классика Computer Science. 4-е изд. – СПБ.: Питер, 2012. – с. 28
  9. Шилдт, Герберт. Полный справочник по C++, 4-е издание. . Пер. с англ. – М. : Издательский дом "Вильямс", 2006, с. 30-227
  10. Шилдт, Герберт. Java 8: руководство для начинающих, 6-е изд. : Пер. с англ. – М. : ООО "И.Д. Вильямс", 2015, с. 27
  11. Marijn Haverbeke. Выразительный Javascript 2-е издание/ пер. с англ Вячеслав Голованов. с.11-12
  12. URL: https://blogs.msdn.microsoft.com/dotnet/2017/03/09/new-features-in-c-7-0/
  13. URL: https://docs.oracle.com/javase/9/whatsnew/toc.htm
  14. URL: https://github.com/Microsoft/vscode
  15. URL: http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
  16. URL: https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016
  17. URL: https://www.tiobe.com/tiobe-index/

  1. Гедравнович В.В., Змеева Ю.В., Абрамович А.О. Основы информатики и вычислительной техники – Минск, Изд-во МИУ, 2004, с. 75

  2. Гедравнович В.В., Змеева Ю.В., Абрамович А.О. Основы информатики и вычислительной техники – Минск, Изд-во МИУ, 2004, с. 76

  3. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 241

  4. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 243

  5. Брукшир Дж. Информатика и вычислительная техника. 7-е изд., с. 243

  6. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 244

  7. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 246

  8. Брукшир Дж. Информатика и вычислительная техника. 7-е изд., с. 246

  9. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 247

  10. Брукшир Дж. Информатика и вычислительная техника. 7-е изд, с. 249

  11. Брукшир Дж. Информатика и вычислительная техника. 7-е изд. – СПБ.: Питер, 2004. – с. 249

  12. Брукшир Дж. Информатика и вычислительная техника. 7-е изд., с. 250

  13. Шилдт, Герберт. Полный справочник по C++, 4-е издание.. Пер. с англ. – М. : Издательский дом "Вильямс", 2006, с. 30

  14. Керниган, Брайан У., Ритчи, Деннис М. Язык программирования C, 2-е издание.: Пер. с англ – М. : Издательство дом "Вильямс", 2009, с. 15

  15. Керниган, Брайан У., Ритчи, Деннис М. Язык программирования C, 2-е издание, с. 17

  16. Шилдт, Герберт. Полный справочник по C++, 4-е издание.. Пер. с англ. – М. : Издательский дом "Вильямс", 2006, с. 226

  17. Шилдт, Герберт. Полный справочник по C++, 4-е издание.. Пер. с англ. – М. : Издательский дом "Вильямс", 2006, с. 226

  18. Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Язык программирования C#. Классика Computer Science. 4-е изд. – СПБ.: Питер, 2012. – с. 28

  19. Шилдт, Герберт. Java 8: руководство для начинающих, 6-е изд. : Пер. с англ. – М. : ООО "И.Д. Вильямс", 2015, с. 27

  20. Саммерфилд М. Программирование на Python 3. Подробное руководство. – Пер. с англ. – СПб.: Символ-Плюс, 2009, с. 13

  21. Джош Локхарт. Современный PHP. Новые возможности и передовой опыт / пер. с англ. Рагимов Р.Н – М.: ДМК Пресс, 2016, с. 20

  22. Marijn Haverbeke. Выразительный Javascript 2-е издание/ пер. с англ Вячеслав Голованов. с.11

  23. Marijn Haverbeke. Выразительный Javascript 2-е издание/ пер. с англ Вячеслав Голованов. с.12

  24. Роберт И. Кабаков. R в действии. Анализ и визуализация данных в программе R / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. с. 27

  25. Роберт И. Кабаков. R в действии. Анализ и визуализация данных в программе R / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. с. 27

  26. URL: http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/

  27. URL: http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/

  28. URL: https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016

  29. URL: https://www.tiobe.com/tiobe-index/

  30. URL: https://www.tiobe.com/tiobe-index/

  31. Мюллер Андреас, Гвидо Сара, Введение в машинное обучение с помощью Python/ Москва 2016-2017, с. 13

  32. Мюллер Андреас, Гвидо Сара, Введение в машинное обучение с помощью Python, с. 18

  33. URL: https://github.com/Microsoft/vscode