Modelliere deine eigene Programmiersprache

Mein ehemaliger Azubi Markus und ich haben einen Artikel bei heise Developer veröffentlicht: Baumeister – Eine eigene Programmiersprache mit Xtext modellieren.

Passend zum Thema seiner Abschlussarbeit (Projektdokumentation und -präsentation findest du hier auf der Seite) geht es um die Modellierung einer eigenen Programmiersprache. Wir haben uns vor einiger Zeit für den Einsatz von Xtext zur Gestaltung von domänenspezifischen Sprachen entschieden und inzwischen mehrere solcher eigenen Programmiersprachen entwickelt, die auch bei der täglichen Arbeit zum Einsatz kommen.

In dem Artikel zeigen wir den Entwurf einer simplen DSL, mit der man die guten alten POJOs aus der Java-Welt generieren kann. Dabei handelt es sich allerdings nur um ein Beispielprojekt, das wir speziell für den Artikel umgesetzt haben. Die Sourcen gibt es in Markus‘ Repository bei GitHub: GitHub – MarkusAmshove/Datenmodell: Das Beispiel einer DSL aus dem Heise-Developer Artikel.


Doch warum schreibe ich hier darüber? Sind DSLs wichtiges Prüfungswissen? Muss ein Azubi seine eigene Programmiersprache modellieren können?

Für beides gilt: Nein.

Ich will nur zeigen, dass auch Azubis, die gerade erst ihre Prüfung bestanden haben (oder sie sogar noch vor sich haben), schon einen wichtigen Beitrag für ihre Unternehmen leisten können. Markus‘ Arbeit trägt bei uns dazu bei, dass viele vorher aufwändige Prozesse heute einfacher, schneller und weniger fehleranfällig abgearbeitet werden können. Und er kann darüber sogar bei heise Developer berichten. Das ist doch eine wirklich tolle Rückmeldung zu seiner Arbeit!

Ich denke, das sollte für dich ein bisschen Motivation sein, dich noch mehr in dein Unternehmen einzubringen und die Dinge, die du für die Ausbildung lernst, zur produktiven Anwendung zu bringen. Du lernst nicht nur für die Prüfung, sondern für die Praxis. Dafür sind wir doch Softwareentwickler geworden, oder? 😀


Wenn dich das Thema domänenspezifische Sprachen interessiert, empfehle ich zum Einstieg in Xtext und Xtend Implementing Domain-Specific Languages with Xtext and Xtend (Affiliate)* von Lorenzo Bettini.

Lorenzo Bettini - Implementing Domain-Specific Languages with Xtext and Xtend (Affiliate)*


Was sind die Projekte für dein Unternehmen, auf die du besonders stolz bist? Hast du vielleicht auch schon irgendwo über deine Arbeit berichtet? Ich freue mich über Kommentare und Links!

Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax