LINUX.ORG.RU

Eclipse Foundation создал вспомогательный язык для программистов на Java

 , , , xtend


0

2

Eclipse Foundation выпустил новый язык программрования Xtend, созданный специально для разработчиков на Java, работающий поверх JVM.

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

Главные особенности Xtend:

  • генерация понятного листинга на Java;
  • работа с использованием инструментов Eclipse IDE с полной поддержкой её функциональности;
  • Java-подобный синтаксис;
  • статическая типизация;
  • использование библиотек JDK;
  • работа только с классами (интерфейсы, аннотации и перечисления описываются так же, как в Java).

Зачем использовать Xtend, если он не реализует альтернативы для всего? Во-первых, он и не пытается. Это не самостоятельный язык, а вспомогательный. Во-вторых, он избавляет программиста от многословности Java, позволяя создавать те же языковые конструкции, но с помощью более лаконичного синтаксиса, код на Xtend более удобен для чтения и понимания:

  • код избавляется от избыточных указаний типов объектов (хотя если вам удобнее везде писать типы — это ваше право);
  • новый продуманный синтаксис акцессоров;
  • опциональность скобок для вызова методов и точек с запятой в конце строк.

Описанная «чистка» кода может быть воспринята двояко, но есть ещё третий пункт в списке достоинств — дополнительные языковые конструкции и функциональность, однажды воспользовавшись которыми вы уже не сможете жить без них в дальнейшем:

  • замыкания, которые всегда были так необходимы в Java;
  • переработанная и элегантная реализация switch, от которой не болит голова при перехвате исключений и кастинге типов;
  • поддержка шаблонов и многострочности для строк;
  • возможность добавления новых расширенных методов к уже существующим объектам без вмешательства в их структуру (поэтому язык и называется Xtend — «расширять»);
  • перезагрузка операторов;
  • множественный вызов виртуальных функций для семейств классов с помощью ключевого слова dispatch.

Для того, чтобы начать использовать Xtend прямо сейчас, нужно просто установить свежую версию IDE Eclipse и добавить Xtend SDK через менеджер дополнений (ссылка на релиз).

Документация: онлайн, PDF.

>>> Страница проекта

★★★★★

Проверено: Shaman007 ()
Последнее исправление: adriano32 (всего исправлений: 2)

Мета-язык, который транслирует в ява. Наподобие Vala, который транслирует в C.

vold ★★★★★
()
Ответ на: комментарий от note173

Нет, все-таки синтаксис ближе именно к java.

А вот по функциональности - кострированная scala.

Но вот зачем? Для неосиляторов скалы или кому-то действительно так критично транслирование в java?

anonymous
()

Сколько там языков уже мертвых под JVM которыми никто не пользуется? 100? 1000? Over 9000?

umren ★★★★★
()

>Перезагрузка операторов

мой мосх...

anonymous
()

>Перезагрузка операторов;

чего? перестройка2?

Karapuz ★★★★★
()

Лучше бы продолжали пилить свой тормозной АйДиИи.

gensym ★★
()

Каждый раз кто-нибудь делает что-то на джаве/для джавы, я убиваю котёнка.

anonymous
()

Не популярен как Java, не настолько мощный как scala, похож на Groovy (++) но без наработок и инфраструктуры. Эх. Ну пускай покажут что могут

vertexua ★★★★★
()

> будет очень удобной альтернативой для использования там, где Java слишком многословна

Да ну, шило на мыло. Реквестирую язык со встроенной функцией make_all_fucking_cool().

fang
()

>позволяя создавать те же языковые конструкции, но с помощью более лаконичного синтаксиса

Пора бы уже понять, что самыми лаконичными являются скобочки.

loz ★★★★★
()
Ответ на: комментарий от anonymous

>>Каждый раз кто-нибудь делает что-то на джаве/для джавы, я убиваю котёнка.

Животинка то в чём провинилась?

wm34
()
Ответ на: комментарий от anonymous

> Каждый раз кто-нибудь делает что-то на джаве/для джавы, я убиваю котёнка.

У меня в директории ~/NetBeansProjects/Java/ ~2500 поддиректорий. Приступай.

Sadler ★★★
()
Ответ на: комментарий от ratvier

> Hello World и во что он компилируется

Какая жуть. Ява и так не очень шустрая, а если ещё вот такие обёртки юзать, дак совсем грустно будет.

Sadler ★★★
()

JVM не нужна. Только LLVM, только хардкор!

anonymous
()

> Optional semicolons
Ни за что!

CYB3R ★★★★★
()

>Eclipse Foundation создал вспомогательный язык для программистов на Java
А костыль - это такая вспомогательная нога.

robert_foster ★★
()

>акцессоров

закопайся, вместе со своим богатым и мобучим.

_________

//wfrr

anonymous
()
Ответ на: комментарий от vertexua

Эффективнее не создавать StringConcatenation при каждой итерации, а реюзать старый. При сипользовании сабжевых костылей код будет еще тормознее.

_________

//wfrr

anonymous
()
Ответ на: комментарий от Sadler

Какая жуть. Ява и так не очень шустрая, а если ещё вот такие обёртки юзать, дак совсем грустно будет.

Вот тебе, двоечнику, вопрос на засыпку: во что компилируется следующий код *стандартным* компилятором явы?

System.out.println("Hello, " + name + "!");

pitekantrop ★★★
()
Ответ на: комментарий от pitekantrop

> Вот тебе, двоечнику, вопрос на засыпку: во что компилируется следующий код *стандартным* компилятором явы?

Пошёл к черту.

Sadler ★★★
()
Ответ на: комментарий от pitekantrop

А теперь вопрос во что скопилируется отакой код:

String s = "";
for(int i = 1000; i >=0; --i) {
  s + = "hello " + i;
  s.length();
  s + = i + '0' + i; 
  s + = i + "" + i; 
}

И когда узнаешь, расскажи таки, насколько хорошо когда ногу прострелить нельзя, только потмоу что испанские сапоги оказались бронированы.

_________

//wfrr

anonymous
()
Ответ на: комментарий от anonymous

> А теперь вопрос во что скопилируется отакой код

Если мне понадобиться написать что-то подобное, я заведу явный StringBuilder.

pitekantrop ★★★
()
Ответ на: комментарий от Deleted

>>@SuppressWarnings(«all»)

Это нормально? (O.o)

С учетом того, что код генерится, вполне.

pitekantrop ★★★
()

ПО на Java всегда вызывает только уныние. Особенно выделяются поделия от ASF как самые ущербные, и eclipse как наименее убогие. Но судя по хелло-ворду этого язычка, apache-быдло уже оккупировало и eclipse foundation. R.I.P.

shahid ★★★★★
()
Ответ на: комментарий от anonymous

> Нет, все-таки синтаксис ближе именно к java.

А вот по функциональности - кострированная scala.

Но вот зачем? Для неосиляторов скалы или кому-то действительно так критично транслирование в java?

scala довольно сильна, даже чересчур учитывая уровень людей которые программируют на java. плюс рефакторинг scala довольно сложен - даже IDEA адекватно не поддерживает. Xtend это попытка вылечить некоторое количество болячек без сильного усложнения языка.

VoDA ★★
()

По-моему, годно. Самые нужные плюшки есть, и любой быдлокодер, неосиливший Скалу, осилит.

pitekantrop ★★★
()

Пиздец мешанина будет.

anonymous
()
Ответ на: комментарий от pitekantrop

Детка, не увиливай, популярно расскажи что там будет, чтобы люди незнакомые с явой вволю поржали над Оптимизирующим Компилятором.

_________

//wfrr

anonymous
()
Ответ на: комментарий от anonymous

>Похоже у Жабистов совсем крыша поехала.
Что, простите, поехало? У кого, простите, поехало?
Да у них всё ЛЕТАЕТ!!! Это просто у пользователей тормозные, старые, никчёмные нищебродские компы и руки не из того места растут.

Java должен умереть(с)

Pronin ★★★★
()
Ответ на: комментарий от anonymous

> лучшеб они яву допиливали чем ажурные костыли

java допиливается один раз и на всю жизнь, потому сначала обкатка нововведений идет в виде внешних проектов и дополнительных SDK, а только после этого и решения что фича реально нужна и облегчает жизнь хотя бы 50% программистов, а ухудшает жизнь менее 5% (ИМХО), тогда она и внедряется.

так что проверка в виде ажурных костылей и нужна )))

PS до 5-ки аннотации были ажурными костылями, а потом их внедрили в базовую версию.

VoDA ★★
()
Ответ на: комментарий от VoDA

> java допиливается один раз и на всю жизнь, потому сначала обкатка нововведений идет в виде внешних проектов и дополнительных SDK, а только после этого и решения что фича реально нужна и облегчает жизнь хотя бы 50% программистов, а ухудшает жизнь менее 5% (ИМХО), тогда она и внедряется.

пока вы там ждете (ха-ха-ха, а может и никогда не дождетесь), мы прикручиваем функциональносты через defmacro/MOP -> быстренько пишем проект используя новые фичи. Профит!

gensym ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.