category

Posts in Software Engineering

All posts in Software Engineering in chronological order with newest first.

Posts in Software Engineering

image
Java in the Technology Radar

Java in the Technology Radar (JavaSpektrum)

I’ve written a new article for JavaSpektrum: “Java im Technology Radar – Totgesagte leben länger”. The piece looks back at Java’s journey through the eyes of the Thoughtworks Technology Radar...

software-engineering en java article jvm architecture thoughtworks
image
Structured Concurrency in Java 24

Structured Concurrency in Java 24 (JavaSpektrum)

I’ve written an article for JavaSpektrum 2/2025 about Structured Concurrency in Java 24. The article covers JEP 499, Java’s fourth preview of Structured Concurrency, which aims to make concurrent programming...

software-engineering en java concurrency article jvm parallelism architecture
image
Coroutines in Kotlin at KKon 2021 Warmup

Coroutines in Kotlin at KKon 2021 Warmup

In my talk “Nebenläufigkeit mit Koroutinen strukturieren” at the KKon 2021 Warmup I explained how to structure and organize concurrent programs with coroutines in Kotlin.

software-engineering en kotlin parallelism concurrency talk slides
image
Refactoring with the Mikado Method

Refactoring with the Mikado Method

At a client of ThoughtWorks I gave a talk about refactoring in line with the book “Mikado Method”. The book describes a method to plan and perform non-trivial refactorings of...

software-engineering en tdd talk slides clean-code
image
Weniger warten, asynchron arbeiten

Coroutines in Kotlin and Go on heise Developer

In the article “Weniger warten, asynchron arbeiten” (less waiting, asychronous working) published by heise Developer I explain the theoretical background of coroutines and how to use them in Kotlin and...

software-engineering en article kotlin concurrency parallelism golang
image
Concurrency in Kotlin with coroutines

Concurrency in Kotlin with coroutines

Coroutines are a “new” way to handle concurrency on the JVM. I gave an introduction to coroutines in Kotlin at Thoughtworks. This is basically the translation of the german slides....

software-engineering en slides talk kotlin concurrency parallelism jvm

Fusion of object oriented and functional programming

The fusion of Object Oriented Programming (OOP) and Functional Programming (FP) languages has become increasingly popular in recent years, with many programming languages now offering features and constructs from both...

software-engineering en kotlin object-functional scala functional-programming

EuroClojure 2017 in Berlin

In my first project for ThoughtWorks the backend is written in Clojure. Since the project was in Berlin, I visited the EuroClojure 2017 which takes place in Berlin this year,...

software-engineering en jvm functional-programming
image
Ambient Occlusion example

Ray tracing with Groovy and Java

While I was reading the excellent book by Kevin Suffern "Ray tracing from the ground up", I implemented a ray tracer in Java and wrote a DSL in Groovy, to...

software-engineering groovy java model-driven jvm graphics en

Sehr gute Einführung in Scala

Scala ist ein wichtiger Meilenstein bei der Fusion von funktionaler und objektorientierter Programmierung. Diese Fusion ist noch nicht abgeschlossen, sondern ein “Entdeckungs-Prozess”, der noch ein paar Jahre andauern wird.

software-engineering scala de review jvm object-functional

Fortgeschrittenes ‘git'

Ich benutze git zwar schon ein paar Jahre, wollte aber mehr Hintergrundwissen haben und komplexere Abläufe kennenlernen. Das ist dem Buch “Git in Practice” zum einen gelungen, trotzdem habe ich...

software-engineering review de

Zu kurzer Einstieg in PaaS

“Understanding PaaS” ist ein sehr kleines Büchlein über die Grundlagen des Cloud Computings. Es kann gelesen werden, um sehr schnell in die Thematik einzusteigen. Es ist eher für Entwickler geschrieben,...

software-engineering review de

Fast definitiver Einstieg in MongoDB

“MongoDB: The Definitive Guide” ist ein gelungener Überblick auf MongoDB sowohl aus Entwickler- als auch als DBA-Perspektive. Jedenfalls soweit ich das als MongoDB-Einsteiger mit mehr als 11 Jahren Data-Warehousing-Projekterfahrung sagen...

software-engineering review de data javascript

“Anspruchsvolles” JavaScript

Wenn es “anspruchsvolle” Literatur gibt, dann gibt es jetzt auch “anspruchsvollen” Code. “If Hemingway Wrote JavaScript” enthält viele lustige und lehrreiche Beispiele.

software-engineering javascript review de

Stellenweise sehr gut, stellenweise nicht ausgereift und zu knapp

Die Programmierung von parallelen und nebenläufigen Programmen mit Shared-Memory und Threads ist kompliziert und sehr fehleranfällig. Als Lösungsansätze wurden z. B. Software-Transactional-Memory (STM), Message-Passing-Architekturen und Aktoren-Modelle entwickelt. In “Programming Concurrency...

software-engineering parallelism concurrency jvm review de object-functional

Nur für 'Thread-Monkeys'

Mit dem Titel “The Art of Concurrency” wird ein hoher Anspruch geweckt, der nicht erfüllt wird. Der Untertitel “A Thread Monkey’s Guide to Writing Parallel Applications” wird dem Inhalt schon...

software-engineering review de parallelism concurrency c++

Groovy, EMF and UML2

I wrote the Groovy EMF builder and the Groovy UML2 builder. These tools use the builder concept of the programming language Groovy to ease the processing of Eclipse Modelling Framework...

software-engineering groovy eclipse model-driven en jvm java

Eclipse BugDays 2007

I participated at Eclipse BugDays in July, August, September, October, and November 2007 and helped debugging the Eclipse projects JDT, PDE/UI, and ECF.

software-engineering eclipse en jvm java

Using UML2 with Groovy

The UML2 project provides an EMF based implementation of the UML 2.x metamodel in Java. With the EMFBuilder it is possible to create and process UML2 models.

software-engineering groovy eclipse model-driven en jvm
image
Eclipse SQL Editor Plugin

Eclipse SQL Editor Plugin

Ich wollte herausfinden, wie schwer es ist, in Eclipse einen Editor für eine Programmiersprache zu schreiben. Ich kannte damals keinen Open-Source-SQL Editor (auch für Eclipse gab es noch keinen) und...

software-engineering de eclipse jvm java