НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Почему Java будет жить вечно

Ситуация с Java как языком программирования пока становится только запутаннее (см. "Будущее Java всё туманнее"), но повлияют ли эти негативные тренды на развитие Java как технологии, хорошо реализующей основополагающий принцип «пишется однажды, работает везде»?

[spoiler]Java как технология будет жить вечно (насколько возможна вечность в ИТ-мире), потому что её часть, связанная с виртуализацией, работой виртуальных машин, реализована хорошо, давно стала массово общепризнанной и уже живёт фактически самостоятельно. Свидетельство тому -- огромное число сторонних средств разработки, базирующихся на JVM.

Одно из них -- это плагин JRebel с не менее впечатляющим слоганом «No redeploys. Tons of frameworks. Just code». JRebel предоставляет замечательную возможность пересборки Java-приложения на лету (ведь на разворачивание крупного отлаживаемого приложения могут уходить и часы), при этом даже сохраняются сессии и состояния объектов. То есть эффективная корпоративная Java-разработка без JRebel немыслима.

Инженеры из фирмы ZeroTurnaround, где был создан этот плагин, выпустили 50-страничный отчёт, посвящённый перспективам языков, использующих JVM как среду поддержки выполнения (Java 8, Scala, Kotlin, Ceylon, Xtend, Groovy, Clojure, Fantom).



Java 8, впрочем, в этом году не появится, о чём говорилось вчера. И вот тут не исключено, что свято место будет пустым крайне короткое время. Зачем, условно говоря, годами ждать лямбда-вычисления в Java, когда есть великолепный Clojure или Kotlin?
В отчёте приводится достаточно подробное описание особенностей каждого языка и приводятся хорошие примеры. Мораль же в том, что язык Java может быть сражён корпоративными разборками хоть завтра, однако флаг из рук слабеющего бойца будет мгновенно подхвачен и понесён далее на платформе JVM большим отрядом друзей-конкурентов.

Отмечу только один язык, несколько выбивающийся из анализируемой восьмёрки.
Это Xtend, который появился совсем недавно, и развивается под эгидой Eclipse. Он и вырос в этом фонде в рамках замечательного проекта Xtext (фреймворк для разработки DSL-языков).

Особенность Xtend в том, что он компилируется не в двоичный байт-код JVM, а в исходный текст на Java (разработчики проводят тут аналогии с CoffeeScript, который схожим образом расширяет возможности JavaScript). Основные фишки Xtend рассчитаны на облегчение труда Java-кодировщиков, за счёт например особых соглашений о строгой типизации, а также поддержки макросов в духе Лиспа:)
А оболочку Xtend IDE можно использовать как среду разработки для Андроида.