Проект Eclipse развивает новый язык программирования Xtend

Проект Eclipse ввёл в строй сайт для нового языка программирования Xtend, базирующегося на виртуальной машине Java и построенного с использованием фреймворка Eclipse Xtext, предоставляющего набор средств для создания предметно-ориентированных языков. Вместо прямой генерации байткода для JVM, исходные тексты на языке Xtend компилируются в представление на языке Java, примерно также как CoffeeScript компилируется в JavaScript. При этом на выходе получается вполне читаемый Java-код, который в дальнейшем можно использовать для Android и GWT (Google Web Toolkit).

Xtend не ставит перед собой цель заменить Java, а пытается модернизировать Java и предоставить удобную альтернативу для некоторых слабых мест, сохраняя общее сходство синтаксиса. Наиболее заметное отличие от Java связано со значительным упрощением синтаксиса за счет избавления от лишнего "шума", что в конечном итоге приводит к улучшению читаемости кода. Xtend остаётся языком со статической типизацией, но при объявлении переменных позволяет явно не указывать типы, если их можно определить из явного контекста. Упрощён доступ к свойствам (person.name вместо person.getName() или person.name = "Foo" вместо person.setName("Foo")), переведено в разряд опций указание скобок и точки с запятой вместо obj.compute() можно указать obj.compute).

Xtend полностью поддерживает всю базовую функциональность Java, включая поддержку библиотек классов и возможность непосредственного взаимодействия из Xtend-программ с кодом на языке Java и наоборот, поддержку прозрачного вызова написанных на языке Xtend функций из Java-программ. Из дополнительных возможностей, дополняющих средства Java, можно отметить замыкания, шаблоны выражений (что-то похожее на макросы C/C++), мультиметоды (полиморфный вызов методов), методы расширения, перегрузка операторов, мощная альтернативная реализация выражения "switch".

Отдельно отмечены полноценные средства по интеграции с платформой Eclipse. Для упрощения разработки подготовлен плагин для интегрированной среды Eclipse, который поддерживает, большинство возможностей доступных при разработке на языке Java.

©  OpenNet