Tuesday, March 20, 2012

Xtend 2.3 beta version available

Today we announce the availability of the first beta version for the planned release in June. As you might know Xtend is a statically typed, functional and object-oriented programming language targeting the Java Virtual Machine. As opposed to other Java alternatives Xtend compiles to readable Java source code, provides state-of-the-art Eclipse integration and is 100% compatible with existing Java libraries and frameworks.
Besides many bug fixes, performance improvements and some minor language enhancements (number literals, varargs, etc.), the big leap has been done on the tooling side. 
Debugging through Xtend and Java sources now works transparently side by side. As Xtend generates Java source code, the user can even switch between the generated Java source and the original Xtend source while in a debugging session. This equivalence of languages is also stressed by a special Eclipse view that allows to inspect which parts of the generated Java code are derived from which segments of Xtend code.

The new Eclipse plug-in for Xtend now integrates seamlessly with Eclipse’s Java Development Tools. No matter whether you click on a stack frame in a printed exception, on a failing unit tests, or on some search result in the call hierarchy, find references or the type hierarchy view: If the target element has been implemented in Xtend, the Xtend editor will open up and select the correct source location. 
In case you want to see the generated Java source code, there’s the new ‘Generated Code’ view. It shows the generated code and marks the correct ranges corresponding the current selection in the Xtend editor. With that you can understand how Xtend is translated to Java in detail. Looking at the generated Java will help you getting familiar with the language.

See the "New & Noteworthy" page for more details and more cool new features.
The final release is planned for June 27 as part of Eclipse Juno, this year’s Eclipse release train. Till then we want to focus on stabilizing, improving performance and making sure nothing gets into the way of a great user experience. We are extremely happy with the beta version, and enjoying working on it and in it on a daily basis. There’re still a lot of things to do and we hope to get a lot of feedback from the community, so we are able to address any outstanding issues till June.
The beta version is now available for through the following Eclipse p2 update site : http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/

5 comments:

  1. Cool stuff! As always! :)

    ReplyDelete
  2. Heribert Schütz4/9/12, 12:15 AM

    Hi Sven,

    do you have any plans for a shorthand property definition syntax?
    Yes,

    String prop
    def getProp() { prop }
    def void setProp(String value) { prop = value }

    is slightly shorter than the Java equivalent, but since this pattern
    is so common some specialized syntax could avoid a lot of noise.
    Or is there a reason that you don't want to provide a shorthand here?

    Heribert.

    ReplyDelete
  3. @Heribert : I'd like to support this and others through a better away of annotation processing.
    You'd write something like this :

    @Property String name

    But this will unfortunately not make it into the next release (June), but will likely be implemented after that.

    ReplyDelete
  4. Thanks, Sven, that the @Property syntax did make it in the Juno release. I'm already using it.

    Heribert.

    ReplyDelete