Сможет ли Julia побороть Python так же, как Python поборол Java

от автора

image

Язык программирования Python прошел большой путь с момента своего появления в 1990-х. Едва ли Гвидо Ван Россум знал, что Python станет одним из самых популярных языков в мире, в то время, когда он его разрабатывал. На сегодняшний день Python является одним из наиболее широко используемых языков программирования на планете и имеет множество различных применений. Будь то приложения корпоративного уровня, машинное обучение, модели искусственного интеллекта или работа в области Data Science, Python активно используется практически во всех процветающих отраслях и областях.

Текущий сценарий для Python

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

EDISON Software - web-development
Статья переведена при поддержке компании EDISON Software, которая дает дельные советы юниорам, а также проектирует программное обеспечение и пишет ТЗ на русском и английском.

Однако Python, являющийся открытым языком с большим и поддерживающим его сообществом, продолжает оставаться актуальным и находится на пике даже сегодня. Богатые библиотеки и встроенные функции делают его популярным среди организаций, предприятий, разработчиков и специалистов в области Data Science. Несмотря на то, что Java все еще используется для корпоративной разработки, ее актуальность в других областях близка к нулю. Если вы посмотрите вокруг, вы не найдете специалиста по машинному обучению, который разрабатывает и обучает модели на Java. Но несмотря на это, Java остается вторым по популярности языком среди разработчиков по всему миру.

Победа над Java

Python успешно смог обогнать Java в большинстве сфер. В том, что касается корпоративной разработки, новый язык программирования Go от Google представляет реальную угрозу для Java. Однако, по мере прогресса потребность в высокопроизводительных вычислениях растет как никогда. Таковы современные требования для Data Science и моделей искусственного интеллекта. Хотя можно подумать, что использование быстрых графических процессоров может помочь повысить скорость и эффективность, реальность далека от этого. Такой подход не удовлетворяет потребностям в обработке информации. Передовые приложения должны зависеть от других вещей для оптимальной работы и помощи ученым и разработчикам в достижении желаемых целей. В конечном итоге это побуждает организации и исследовательские институты искать надежные языки программирования. разработанные для нишевой задачи и обеспечивающие быструю работу.

Знакомство с миром Julia

Как уже было сказано, мир входит в эпоху, когда любимый всеми Python сталкивается с угрозами от нового игрока в мире языков программирования – Julia. Вирал Шах, генеральный директор Julia Computing, отмечает, что в начале 2000-х разработчики предпочитали использовать язык C для системного программирования, Java для корпоративной разработки, SaaS для аналитики и MATLAB для научных расчетов. Однако современные разработчики используют Rust для системного программирования, Go для корпоративных приложения, Python/R для аналитики и Julia для научных расчетов.

Однако сценарий не был таким несколькими годами ранее. Когда Julia не было на горизонте, люди собирались переходить с MATLAB на Python. Поскольку машинное обучение стало использоваться практически во всех известных нам приложениях, а библиотеки Python обеспечили гораздо более простую реализацию моделей машинного обучения, люди переключились на Python. Ранее MATLAB был лучшим вариантом для решения этих задач и помогал как в аналитике, так и в научных расчетах. Но было очевидно, что люди ищут простых для реализации решений, которые будут понятными, быстрыми, эффективными и масштабируемыми. И Python смог занять и нишу Java, и нишу MATLAB.

Каково место Julia?

Одно из ключевых отличий между Julia и Python заключается в том, как эти языки подходят к одной и той же задаче. В то время как Julia специально создана для решения задач, связанных с высокопроизводительными вычислениями, Python пришел к этому в процессе своего развития. Несмотря на то, что Python до сих пор был в состоянии отвечать вызовам индустрии, давайте согласимся, что он не был предназначен для этой работы. Разработчикам и исследователям посчастливилось позволить Python развиваться и наблюдать как он превращается в язык для быстрых вычислений. С другой стороны, Julia специально разработана с нацеленностью на высокую скорость работы.Этому языку всего несколько месяцев и он уже начал вызывать ажиотаж среди исследователей и специалистов по Data Science.

Стабильная версия Julia 1.2 была выпущена всего два месяца назад и уже была усовершенствована для эффективной работы с ресурсоемкими проектами в области Data Science. Прямо сейчас более 800 разработчиков вносят свой вклад в Julia на Github и помогают ему стать популярным языком.

Заключение

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


PS

Как прокомментировал torgeek: «Архитекторы NVIDIA добавили Julia в стек своих решений


ссылка на оригинал статьи https://habr.com/ru/company/edison/blog/480654/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *