Es war gut, dass ich am Mittwoch Nachmittag noch schnell umdisponiert hatte und den größeren Raum Veolia im Haus der Wissenschaft buchte. Es hatten sich in den letzten Stunden noch eine ganze Menge Teilnehmer angemeldet und es wäre mit dem Platz knapp geworden.

Letztendlich saßen um 19 Uhr fast 60 interessierte Teilnehmer im Saal, die den Ausführungen von Sven Efftinge und Sebastian Zarnekow folgten.  Der Einstieg erfolgte über eine Analyse der bestehenden Java Sprachlandschaft.  Xtend, eine weitere JVM Sprache, speziell für den Einsatz in der DSLs entwickelt, zielt auf die syntaktischen Unzulänglichkeiten von Java und bietet hier effiziente, knappe und ausdrucksstarke  Konstrukte an.  Das erinnerte mich schon sehr oft an die Möglichkeiten die Groovy und Scala bieten. Wobei ich mit letzterer Sprache nicht so vertraut bin.  Im Gegensatz zu Groovy wird Xtend Syntax jedoch zuerst in Java gewandelt und hier setzt auch im Augenblick noch das Debugging an.  Eine Umsetzung auf Xtext ist hier jedoch geplant.

Sven Efftinge ging auf die Grundlagen für die Entwicklung einer DSL ein und hierfür kann mit Xtext ein leistungsfähiges Eclipse Plugin zur Verfügung gestellt werden. In wenigen Minuten ist eine neue Grammatik erstellt und mit Constraints hinterlegt. Lässt man Parser und Codegenerator laufen, wird im Anschluss ein neuer Eclipse-Editor gestartet, mit dem man unverzüglich mit der Implementierung mit der neuen API beginnen kann. Syntaxhighlighting und Code Vervollständigung inklusive!

Aus meiner Sicht hat man hier ein mächtiges Werkzeug in der Hand, um mittels DSL die Probleme der Domain in Code zu gießen.  Neben den technischen Details liegen sehe ich in erster Linie einen erhöhten Aufwand in der Einarbeitung und im Verinnerlichen der Konzepte.  Hierzu gibt es gute Literatur von Martin Fowler.

Links: