Если вы не слышали о Xtend, не расстраивайтесь, так как он не попадает в заголовки новостей, такие как Go или Dart, но это может быть важно, и в последней версии есть некоторые интересные новые функции.
Xtend-это, по сути, язык, который компилируется на Java, удобочитаемую Java, и он направлен на улучшение языка Java так же, как CoffeeScript улучшает JavaScript.
Xtend 2.4 имеет некоторые интересные новые функции, но на самом деле именно идеи, которые движут проектом Xtend, действительно интересны. Это Java-подобный язык, но, согласно рекламе, он предназначен не для замены Java, а для его улучшения.
На первый взгляд Xtend кажется Java с некоторыми дополнительными битами. Он компилируется в код Java. Да, вы правильно расслышали — он создает читаемый человеком Java, а не машинный исполняемый байт-код. Предполагается, что это означает, что вы можете использовать свои знания Java, чтобы войти и отредактировать скомпилированный исходный код. Он был реализован с использованием системы Xtext, инструмента, позволяющего легко создавать доменные языки. В этом свете Xtend является действительно впечатляющей демонстрацией того, насколько мощным является Xtext.
Если вы хотите увидеть его в действии, посмотрите следующее видео, посвященное более ранней версии:
Вступление Xtend от команды Xtext на Vimeo.
Xtend вводит множество новых функций в Java, которые облегчают написание кода. Например, он использует вывод типов, чтобы можно было писать строго типизированный код, но без необходимости объявлять тип каждой переменной. В версии 2.4 вся система типов была повторно реализована, чтобы быть более быстрой и последовательной. Механизм вывода типов также утверждается, что он умнее и способен выводить типы там, где такие языки, как Scala, терпят неудачу.
Вторая большая новая функция-возможность использовать Lisp-подобные макросы в качестве активных аннотаций. Вы можете добавить аннотацию, чтобы указать, как элементы должны быть переведены на Java. Если термин «шепелявый» отталкивает вас от этой идеи, вам нужно увидеть ее в действии. Как говорится в документации, «это генерация кода, как и должно быть».
Есть также множество небольших улучшений, включая более отшлифованную IDE с формированием, рефакторингом и, как правило, большей помощью.
Новая система может использоваться с настольной Java или с Android, так как это тоже зависит от JDK. Стандартная среда разработки для Android также является Eclipse, поэтому они хорошо сочетаются друг с другом. Новая версия Xtend поддерживает отладку Android с помощью эмулятора и другой новой интеграции.
Если вы хотите улучшить Java. но все еще должны работать с Java. тогда Xtend, возможно, стоит посмотреть. Если вам нужно создать DSL, то, безусловно, Xtext должен быть в вашем списке возможных подходов. Если он может построить Xtend, то его можно использовать практически для чего угодно.