Monday, August 15, 2011

Riding the Waterfall


Did you know we are working on a research project called “Xbase”? It’s a two year project which is going to end in May 2012. So far we are absolutely in time with everything we had written down in the project plan two years ago. We've developed Xbase itself and Xtend on top of it. Next up in the plan is a textual language for EMF Ecore files as well as a validation language. Both are based on and leveraging Xbase. Also in the plan is support for debugging for Xbase-based languages, evaluating the usefulness of Xbase in the context of web-development and extensive documentation. So here are the details for the next couple of months:
Xcore
Ed already blogged about it: It’s going to be the primary syntax to design Ecore models and it will not only come with decent tooling to define the structural elements of an Ecore model. It will allow you to express behavior of EOperations and derived EStructuralFeatures using Xbase. It’s still in a very early state but we’ll have something cool to show at EclipseCon Europe (as long as the talk gets accepted that is ;-))
Validation language
The validation language is developed together with our friends from Paranor. It will focus on a declarative description of compiler issues, including the messages and severities and will automatically allow language users to change the severities on a per project level.
Debugging
Developing with DSLs includes debugging them. We want to allow debugging any Xbase-based DSL right within the Java debugger. The idea is that you can debug through the underlying Java but at the same time (i.e. during the same debugging session) you can also step over the original DSL code. This might be best explained with the small prototype I created a couple of weeks ago.
Evaluation in the context of web development
To proof the relevance of Xbase and Xtext we have put this evaluation task into the project plan. The idea is to write a small web application framework, which might not be as general as something like Spring Roo or the Play! Framework but is much more concrete than the domain model example we ship. Think of it as a comprehensive real world application of Xtext 2.0. The project plan states that this is going to be open-sourced :-)
Extensive Documentation (The Xtext book)
The Xbase project plan says we are going to work a couple of months on extensive documentation. The best form would be a printed book. So that’s what we want to do.
Maintenance
We have just added Xbase to the already relatively large Xtext project. We’ve also added Xtend, a statically typed programming language, and plan to have a couple of other new components as well. But we cannot just throw stuff in all the time. We need to make sure that the overall quality is improved steadily and this gets harder as the framework grows. The good thing is, that we won’t do (we can’t since we published API) big changes to the core framework as we did in previous years. But still there’s enough to do and even the further improvement of the runtime and the editor parts of Xbase, Xtend and Xtext itself is written down in the project plan. Isn't waterfall planning a great thing? ;-)
BTW: Xtext 2.0.1 and Xtext 2.1.0
A service release has been available for two weeks now and the 2.1 release is planned for mid October. It will contain a lot of bugfixes, a more stable version of the reimplemented serializer, and more performance improvements (we are still working on that). It will also come with one or the other enhancement. It’s best to check bugzilla to find out about the details. We use the SR2 flag for it.

Thursday, August 04, 2011

Nordic Coding Part III

The third Nordic Coding event is taking place on August 19 in Kiel, Germany.

I think, we again managed to come up with a very nice program. Here it is:

JavaScript - The World's Most Misunderstood Programming Language (Thomas Bahn)
JavaScript can be a very nice dynamically typed, functional language if you use it properly. Thomas is going to show us what the language's cool core features like closures and prototypes look like and how to use them.


Scala rocks! An Introduction to Scala (Arno Haase)
Everybody is talking about Scala these days. So it's time to have some introduction to this nice functional language at Nordic Coding. I know Arno loves the language and he can be very passionate about things he likes :-)


Java SE - The road forward, 2011 edition (Dalibor Topic)
The State of the Union of the Oracle Java SE platform group. In this presentation you'll learn more about where we are now, how we got there and where we are going in the future.

So I hope you like such a language-oriented program as much as I do.
Like always DiWiSH will serve some food and drinks after the last talk.
Hope to see a lot of you there!
Here is the link to the official announcement (in German)