Am 14.03.2025 fand die diesjährige BOB-Konferenz im Scandic-Hotel
Potsdamer Platz, Berlin, statt – dieses Jahr mit 17 Vorträgen statt den
in den Vorjahren üblichen 15. Ein Rückblick.
Ab 8:00 Uhr trudelten die ersten Teilnehmer:innen ein,
konnten ihre Sachen in der Garderobe ablegen und sich an Kaffee und
den Dauerkleinigkeiten der Energizer-Bar im Scandic bedienen.
Um 9:00 Uhr ging es dann richtig los. (Hinweis: Alle Vorträge, bei denen
die Vortragenden zugestimmt haben, sind in Videoform auf den
verlinkten Seiten hinterlegt.)
Die Keynote „Local-First
Software“ von Annette Bieniusa
behandelt die Prinzipien von local-first Software, Techniken wie
konfliktfrei replizierte Datentypen (CRDTs), und die
Herausforderungen, die sich in der Arbeit damit ergeben.
Dieses Jahr ging es nicht direkt mit den Tutorials weiter, sondern
sowohl die Tutorial- als auch die Vortragsslots hatten eine
Viertelstunde Zeit für Kaffee und Klönen. Um 10:15 Uhr gingen dann zwei
Vorträge und zwei Tutorials gleichzeitig los:
Tim Digel berichtete in Ein Weg zu hoher Zuverlässigkeit von Systemen
eines Netzbetreibers“ von seinen
Erfahrungen im Netze-BW-Softwareprojekt #NETZlive, insbesondere
darüber, wie die Zuverlässigkeit der Systeme gesteigert wurde und was
mittelfristig an weiteren Erfordernissen auf das Projekt zukommt.
Andres Löh brachte mit „Abstraction and program design, or the power
of parametricity“ Beispiele dafür,
wie höhere Abstraktionsgrade zu verständlicherem Code führen können.
Im Tutorial-Track liefen „Embracing Declarative Frontend Development
with Signals and Streams“
von Mischa Koischwitz und „MAD-TDD - der Wahnsinn hat
Methode“ von Marco Emrich
und Ferdinand Ade an.
Um 11:05 Uhr ging der Vortragsblock die zweite Runde: Xavier van de
Woeystene zeigte mit seinem Vortrag „Beyond the Basics of LSP:
Advanced IDE services for
OCaml“ fortgeschrittene
Anwendungsmöglichkeiten des von Microsoft entwickelten Language Server
Protocols auf; Bartosz Sypytkowskis Vortrag „Service-less
communication: is it
possible?“ beschäftigte
sich eingehend mit der im Vortragstitel gestellten Frage.
Von 11:50 Uhr bis 13:00 Uhr gab es eine Mittagspause, die die
Teilnehmer:innen nutzten, um sich am Scandic-Mittagsbüffet zu
bedienen, sich zu unterhalten und für den Nachmittagsblock zu stärken.
Die nächste Reihe an Vorträgen und Tutorien begann mit Ziyang Lius
„Developing DSLs: A Look at Three Practical Strategies with
Real-World Examples“, einem
Vortrag, der sich eingehend mit domänenspezifischen Sprachen
beschäftigte.
Guillaume Allais beschrieb „Correct by Construction Concurrent Programs in
Idris 2“,
wie man nebenläufige Programme (berüchtigt für ihre
Fehleranfälligkeit) von vornherein korrekt hinbekommt.
Die Tutorien in diesem Block waren Kira Howes „Reproducible data
science with Clojure“ und Kaan
Sahins „Resiliente Systeme entwickeln mit Elixir: Fehlertoleranz von
Grund auf“.
Um 13:50 Uhr hielten Hannes Siebenhandl und Arnaud Bailly ihre Vorträge.
Hannes Siebenhandl stellte mit „A Language Server for your DSL for
Fun and Profit“
Möglichkeiten zur Implementierung eines Language Servers zur
Verwendung mit dem Language Server Protocol vor, während Arnaud Bailly
mit „Against the (formal)
method?“ einen Erfahrungsbericht
zum Arbeiten mit formalen Methoden vorstellte.
Von 14:35 Uhr bis 15:00 Uhr folgte die erste Kaffeepause am
Nachmittag, zu dem das Scandic außer Kaffee, Tee und Kaltgetränken
auch Obst und Miniberliner reichte.
Weiter ging es dann mit „Coverage-guided property-based
testing“ von Stevan A und
„Things We Never Told Anyone About Functional
Programming“, während im
Tutorialtrack Kevin Jahns „Build collaborative applications with
Yjs“ die Technologie Yjs
vorstellte und Benjamin Wolf in „Schöne Dokumentation - nur mit
Text“ zeigte, wie man mit asciidoc
technische Dokumentation einfacher, kollaborativer und effizienter
gestalten kann.
Um 15:50 Uhr schloss sich der Vortrag „Functional data structures in
Swift“ von Manuel
Chakravarty an, der an seinen Vortrag vom letzten Jahr anknüpfte und
zeigte, wie gut Swift für funktionale Programmierung funktioniert.
Objektorientierte Programmierung ist auf der BOB nicht gut gelitten,
was vielleicht daran liegt, dass die moderne Softwareentwicklung deren
ursprüngliche Techniken und Vorteile vergessen hat.
„OOP is dead, long live Object
Orientation!“ von Franz Thoma
rief uns wieder ins Gedächtnis, wie (und wo) OOP toll sein kann.
Nach einer weiteren Kaffeepause begann um 17:00 der letzte Block:
Alperen Keleş‘s Vortrag „Property-Based Testing: The Past, The
Present, and The Future“ würdigte
das 25-jährige Bestehen von QuickCheck und bot einen Einblick in schon
gelöste und noch zu lösende Herausforderungen. Joachim Breitner,
kurzfristig als Ersatzsprecher eingesprungen, brachte mit „Recursive
Definitions in Lean“ Ideen
mit, wie Nutzer:innen einer nicht-rekursive Sprache trotzdem rekursiv
Funktionen definieren können.
In den Tutorialräumen war Roland Meyer mit „Programming with weak
consistency, and Dartagnan“ am
Start, der an die Keynote zur Local-First-Software anknüpfte.
Bei Joshua Töpfer ging es „Die andere Art des Teamworks: Whole Team Ensemble
Programming“ um
Ensemble-Programmierung (manchmal auch unter dem Namen
Mob-Programmierung bekannt).
Schließlich stellte ab 17:50 Uhr Yvett Ördög mit „The Microservices
Problem No One Warned Us About (And How You Can Avoid
It)“ eine Blaupause für
resiliente Systeme vor, während Nicole Rauch und Martin Günther mit
„Die Starre überwinden - mit DDD zu geschmeidigem
Code“ einen Ansatz zum
Refactoring mit DDD mitbrachten.
Um 18:35 Uhr gab Michael Sperber wie jedes Jahr ein kurzes Schlusswort,
bevor es für einen großen Teil der Runde weiter zum
Konferenzabendessen ins Restaurant Amrit am Potsdamer Platz ging.
An dieser Stelle auch noch einmal herzlichen Dank an unsere
Sponsor:innen INNOQ,
entwickler.de-Akademie, TNG Technology
Consulting und
WellTyped für ihre großzügige
Unterstützung.
Wir freuen uns schon auf die nächste BOB und hoffen, viele
Teilnehmer:innen und Sprecher:innen 2026 wieder begrüßen zu dürfen.