Python — базовый язык приложений генеративного ИИ (GenAI). А как насчет Java? О результатах небольшого опроса, проведенного DataStax, на портале The Yew Stack рассказывает Мэри Григлески, специалист по работе с сообществом разработчиков этой компании.

Python известен как основной язык программирования для GenAI, поэтому естественно, что на фреймворках и библиотеках Python сосредоточено большое внимание. Но что это означает для разработчиков на Java?

Это важный вопрос, поскольку многие крупнейшие мировые ИТ-системы работают на Java. Java зарекомендовал себя как язык выбора, когда речь идет о масштабируемости и надежности систем. Благодаря тому, что релизы Java выходят раз в полгода, и новым возможностям, таким как Project Loom и Project Panama, можно ожидать, что Java будет становиться все более мощным.

Мы решили узнать у Java-разработчиков, что они думают о росте значимости генеративного ИИ и, соответственно, росте уровня внедрения Python. Java-специалистов традиционно относят к разработчикам корпоративных приложений, которые, как правило, отвечают за проектирование и внедрение внутренних производственных систем компании. В связи с тем, что GenAI в лице ChatGPT и аналогов захватывает мир, поднимаются ли брови Java-разработчиков, или они вообще не обращают на это внимания?

Методология опроса

Мы спросили Java-разработчиков, как они относятся к тому, что GenAI уделяет наибольшее внимание библиотекам и фреймворкам Python. Опрос проводился в течение недели на трех различных платформах социальных сетей: LinkedIn, X (ранее Twitter) и Mastodon.

Поскольку LinkedIn и X являются более массовыми платформами, мы увидели большее число участников как по количеству просмотров, так и по количеству полученных голосов. Опрос на LinkedIn собрал почти 2900 зрителей, из которых 84 (3%) проголосовали по данному вопросу. В опросе на X было почти 2800 зрителей, из которых проголосовало 134 (5%). Mastodon не отображает количество зрителей, но зарегистрировал 15 человек, отдавших свои голоса, что в общей сложности составляет 233 ответа на вопрос.

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

Наблюдения

В целом 48% респондентов верят, что «Java догонит» Python. В то же время 18% респондентов считают, что преимущество Python в области GenAI означает, что они с большей вероятностью «перейдут на Python». Среди оставшихся респондентов 21% не определился со своим мнением, а 13% планируют начать изучение этого вопроса. Участники голосования на LinkedIn чаще считают, что «Java догонит», и реже планируют проводить дополнительные исследования.

Вот несколько выводов, которые мы можем сделать:

— Опросы показывают, что значительное число разработчиков испытывают удивление, беспокойство или тревогу в связи с доминированием Python в области генеративного ИИ. Есть ощущение, что Python «захватил» эту развивающуюся область.

— В то же время некоторые Java-разработчики видят возможность использовать сильные стороны Java (производительность, статическая типизация, корпоративные возможности) для дополнения Python в области ИИ/МО. Существует интерес к преодолению разрыва между этими двумя языками.

— Мнения о том, сможет ли Java «догнать» Python в области ИИ или же динамика развития говорит об уже слишком большом преимуществе Python, расходятся. Одни считают, что Java следует развиваться быстрее, чтобы быть конкурентоспособным, другие полагают, что уже слишком поздно.

— Есть призывы к Oracle и сообществу Java быть более проактивными в поддержке ИИ, МО и науки о данных. Многие считают, что экосистемы и библиотеки Python для MО/ИИ находятся далеко впереди.

Что же ждет нас в будущем?

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

Язык Java по-прежнему чрезвычайно популярен, особенно на крупных предприятиях, несмотря на то, что время от времени скептики говорят: «Java мертв». Поэтому у GenAI, безусловно, есть стимул для расширения возможностей Java, чтобы открыть больше сценариев использования.

Java и Python обладают разными достоинствами, которые делают их пригодными для решения различных задач; у каждого из них есть свое место в мире вычислений. Java известен, в частности, производительностью, масштабируемостью и поддержкой параллелизма. В готовящейся к выходу версии Java 21 в рамках проекта Project Loom будут интегрированы виртуальные потоки, что выведет параллельные вычисления на новый уровень. Простота использования и более быстрые циклы разработки будут оставаться преимуществом Python.

Но и Java не стоит на месте, когда речь заходит о простоте использования. Ведется постоянная работа над тем, чтобы сделать язык более лаконичным и удобным для разработчиков. Такие библиотеки, как PyTorch и TensorFlow, теперь имеют Java API для разработки ИИ/МО.

В конечном счете, мы считаем, что GenAI обеспечит отличные возможности для разработчиков как на Java, так и на Python. Поддержка свободы выбора разработчиками языков и фреймворков будет иметь большое значение — гибкость всегда будет преимуществом для любой волны технологического прогресса. Конечно, скорость расширения поддержки Java в GenAI зависит от спроса и технических соображений. Ожидается, что со временем ситуация улучшится; как отмечалось выше, техническая часть головоломки уже решается.

Таким образом, несмотря на то, что сегодня GenAI в большей степени ориентирован на Python, Java по-прежнему очень актуален, и его поддержка должна стать приоритетом в будущем. Эти языки могут дополнять друг друга, используя свои сильные стороны. Возможно, те 18% респондентов, которые заявили, что перейдут на Python, в конечном итоге убедят себя остаться на Java.