JAX & W-JAX
Die Konferenzen für Java, Architektur- und Software-Innovation

Sprache als Werkzeug: DSLs mit Kotlin

Session
Until the conference starts:
✓ Group discount
✓ Save up to 259 €
Register now
Bis Konferenzbeginn:
✓ 5-Tages-Special
✓ Kollegenrabatt
✓ Bis zu 259 € sparen
Jetzt anmelden
Until December 17:
✓ Save up to 784 €
✓ Agile Day for free
✓ Raspberry Pi or C64 Mini for Free
Register now
Bis 17. Dezember:
✓ Bis zu 784 € sparen
✓ Agile Day for free
✓ Raspberry Pi oder C64 Mini for free
Jetzt anmelden
Infos
Dienstag, 8. September 2020
10:15 - 11:15
Raum:
Forstersaal

Domänenspezifische Sprachen (engl. DSLs) sind seit jeher dazu geeignet, komplexe Ausdrücke kompakter und besser lesbar auszudrücken. Dabei befreien sie den Benutzer von der Notwendigkeit, wiederkehrende Programmfragmente zu pflegen. Sie reduzieren den Blick auf den wesentlichen Inhalt der zugrunde liegenden Domäne. Während es an sinnvollen Anwendungsgebieten von DSLs nicht mangelt, sind deren Funktionsweise und Erstellung oftmals zu Unrecht als Mysterium verschrieen. Domänenspezifische Sprachen unterteilen sich grundsätzlich in externe und interne DSLs. Externe DSLs definieren eine unabhängige eigene Sprache, z. B. Xtend oder SQL. Daher bedarf es zu deren Ausführung einer eigenständigen Syntaxanalyse, -validierung und eines Compilers oder Interpreters. Interne DSLs basieren auf Host-Programmiersprachen. Daher ist ihr Sprachumfang nicht abgeschlossen, sondern lässt sich durch deren Sprachelemente erweitern. Kotlin bietet mit Extension Functions und Lambdas with Receivers ideale Voraussetzungen für die Erstellung interner DSLs. Dies zeigt auch ein Blick auf die ständig wachsende Zahl von Kotlin-basierten DSLs, wie z. B. der Kotlin Gradle DSL oder der Spring Beans DSL. In diesem Vortrag sollen die Grundlagen zur Erstellung eigener DSLs mit Kotlin vermittelt werden. Anhand eines praxisorientierten Beispiels wird schrittweise eine DSL während des Vortrags erstellt.

This Session belongs to the Diese Session gehört zum Programm vom JAXJAX program. Take me to the program of . Hier geht es zum Programm von W-JAX W-JAX .

Take me to the full program of Zum vollständigen Programm von JAX JAX .

This Session Diese Session belongs to the gehört zum Programm von JAXJAX program. Take me to the current program of . Hier geht es zum aktuellen Programm von W-JAX W-JAX or oder JAX JAX .
Alle News der Java-Welt:
Alle News der Java-Welt:

Behind the Tracks

Agile & Culture
Teamwork & Methoden

Data Access & Machine Learning
Speicherung, Processing & mehr

Clouds, Kubernets & Serverless
Alles rund um Cloud

Core Java & JVM Languages
Ausblicke & Best Practices

DevOps & Continuous Delivery
Deployment, Docker & mehr

Microservices
Strukturen & Frameworks

Web Development & JavaScript
JS & Webtechnologien

Performance & Security
Sichere Webanwendungen

Serverside Java
Spring, JDK & mehr

Digital Transformation & Innovation
Technologien & Vorgehensweisen

Software-Architektur
Best Practices

Domain-driven Design
Grundlagen und Ausblick

Spring Ecosystem
Wissen in Spring-Technologien

Web-APIs
API-Technologie, Design und Management