Startschuss für die BOB 2024!

Am 15. März 2024 findet die BOB, unsere Konferenz über das Beste in der Softwareentwicklung, statt – wieder in Berlin.

Die Keynote hält dieses Mal Andreas Rossberg, maßgeblich mitverantwortlich für das Design von WebAssembly.

Der Call for Contributions läuft. Schicken Sie uns also (bis zum 17. November 2023) Ihren Vorschlag für einen Vortrag oder ein Tutorial - das Programmkomitee freut sich darauf!

Weiterlesen...

Racket und #lang

Racket steht – wie allen Lisp-Dialekten – das mächtige Werkzeug Makros zur Verfügung. Mit ihnen können wir die Sprache erweitern und an unsere Bedürfnisse anpassen. Dabei sind nicht nur einfache syntaktische Konstrukte möglich, nein, ganze Typsysteme (wie zum Beispiel „Typed Racket“) oder Concurrency-Systeme („core.async“ aus Clojure) können damit implementiert werden.

Ein weiterer Aspekt sind eingebettete domänenspezifische Sprachen (eDSL): mithilfe von Makros kann eine präzise, den Fachbegriffen der Domäne entsprechende Sprache mit angepasster Syntax, entwickelt werden.

Racket geht den Weg der DSLs noch ein Stück weiter: Hier können wir die DSLs ganz ohne Racket-Code drum herum verwenden. Wie aus einer eDSL eine DSL wird schauen wir uns heute an!

Weiterlesen...

'Was ist denn gerade der Stand?' und andere Fragen, die der Newsletter beantworten kann

Wer hätte das gedacht: Der gute alte Newsletter hat still und heimlich seinen Weg zurück in mein Leben gefunden. Aus diesem Anlass wollen wir heute mal die funktionale Progammierung beiseite lassen und uns einen Aspekt der Softwareentwicklung anschauen, der uns alle angeht: Kommunikation mit Teamkolleg:innen und Kund:innen.

Weiterlesen...

BOB 2023 – Retrospektive

Am 17.03.2023 fand die BOB, unsere alljährliche Entwickler:innenkonferenz, zum mittlerweile neunten Mal statt. Nach zwei reinen Onlineveranstaltungen fanden wir uns diesmal wieder vor Ort in den Räumen von Lohmann und Birkner Healthcare Services in Berlin zusammen.

Weiterlesen...

Monaden in Kotlin

Dieser Post ist ein Teil der Reihe über funktionale Softwarearchitektur in Kotlin. Im ersten ging es um funktionale Validierung, in diesem Teil geht es um Monaden. Diese sind in Kotlin vor allem praktisch, wenn es um die Beschreibung von Abläufen in der Domäne geht, die von technischer Logik zur Ausführung dieser Abläufe getrennt werden soll – und zwar unter Verwendung von kleinen domänenspezifischen Sprachen (DSLs).

In dieser Folge geht es darum, wie Monaden überhaupt funktionieren. Kotlin hat nämlich – wie viele funktionale Sprachen auch – dafür eine spezielle Syntax, auch wenn man sie nicht unter dem „M-Wort“ in der Dokumentation findet. Sie versteckt sich hinter dem Schlüsselwort suspend.

Weiterlesen...