A language for Java developers
Xtend 2.3 beta arrives - make room for another JVM language
There's been a fair bit of anticipation and X-citement (we'll stop with the overt attempts to be '1990s cool') over Eclipse's latest version of Xtend 2.3, set to form part of the Juno release train. Now, alongside Milestone 6, we get a glimpse at what it can do through a beta.
Big things have been promised for tooling, as well as over 150 bug fixes, performance improvements and some minor language enhancements (number literals, varargs, etc.).
Many may well question why Xtend even exists amongst a bevy of other JVM languages, but Xtend's key draw is its ability to compile straight to readable Java code. They have been pretty open about their heritage and don't intend to kill Java - but rather embrace it, so says the website.
A nifty update is that debugging is now a transparent process meaning as Xtend generates Java source code, the user can even switch back and forth between the generated Java source and the original Xtend source at will. A 'special Eclipse view' allows the user to inspect which parts of the generated Java code are derived from which segments of Xtend code in forensic-level detail.
Furthermore, the new Eclipse plug-in for Xtend now integrates seamlessly with Eclipse’s Java Development Tools (JDT), to really live up to the self-proclaimation that Xtend has 'state of the art Eclipse tooling'. There's the new ‘Generated Code’ view too, which shows the generated code and marks the correct ranges corresponding to the current selection in the Xtend editor. A really helpful addition that allows you to fully understand the linkup between Xtend and Java.
Originally created in 2004 to add functionality to classes, Xtend is a statically-typed, functional and object-oriented programming language targeting the JVM. Unlike other Java alternatives though, Xtend compiles to readable Java source code, provides state-of-the-art Eclipse integration and is 100% compatible with existing Java libraries and frameworks. It cuts out some aspects of Java such as the redundant type interference and progresses other things such as lambda expressions and enhanced DSL support. Hence the motto:
Embrace Java...but kill the noise...and add some sugar
The road ahead for the Xtend team is extensive testing to improve stability and performance as with many Juno releases. Sven Efftinge says that they 'are extremely happy with the beta version' and hope to get a lot of feedback from the community to address any outstanding issues ahead of June's full arrival. The beta version is now available for through the following Eclipse p2 update site: http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/