Oliver Sturm

Autor

Oliver Sturm

Oliver Sturm ist Training Director bei DevExpress. In über 25 Jahren hat er weitreichende Erfahrungen gesammelt als Softwareentwickler und -architekt, Berater, Trainer, Sprecher und Autor. Seit vielen Jahren ist er Microsoft C# MVP. Im Web finden Sie ihn unter oliversturm.com.

Serverless noch nicht ganz überzeugend

Ein großes Thema der Softwareentwicklung Anfang 2018 ist zweifellos „Serverless“. Ende Februar war ich bei der BASTA! Spring in Frankfurt, und dort wurde fleißig darüber diskutiert, in und außerhalb von Sessions, was zu zahlreichen Fragen führte. Zunächst einmal: Was bedeutet eigentlich „Serverless“? Keine Server mehr? Nur noch Clients? Natürlich nicht! Zumindest erscheint das im Moment natürlich, da sehr viele moderne Architekturkonzepte Server und Clients benötigen – wer weiß, was die Zukunft bringt?

Funktionales JavaScript für Entwickler

In der Vergangenheit habe ich mich in mehreren Kolumnen als Anhänger der funktionalen Programmierung geoutet. Da ich meinen Code am liebsten in JavaScript schreibe, ist es an der Zeit für eine Beschreibung der funktionalen Ideen in diesem Umfeld.

Die Welt ist grau und Nuancen sind wichtig

Ich bin gerne faul. Für Entwickler ist Faulheit eine Tugend, da sie eine gesunde Abneigung gegen Neuerfindungen des Rades und andere bereits existierende Dinge erzeugt. Bei der Entscheidungsfindung gilt es allerdings, nicht zu faul zu sein, damit wichtige Elemente konsequent berücksichtigt werden.

Verantwortung teilen mit CQRS und Event Sourcing

Verantwortung teilen ist gut. Wer mag schon die ganze Verantwortung tragen, wenn die halbe es auch tut? Auch technisch macht das Teilen von Verantwortung und den damit zusammenhängenden Zuständigkeiten fast immer Sinn. Aber in der Praxis sind die notwendigen Schritte nicht immer so einfach.

Freie Wahl für Betriebssysteme

„In der Zukunft wird die Bedeutung des Betriebssystems immer weiter sinken.“ – eine neue Aussage ist das bei Weitem nicht. Ich erinnere mich daran, solche oder ähnliche Statements bereits vor Jahren gehört zu haben. Dabei lag ihnen meist eine Beobachtung zugrunde, die ebenfalls schon alt ist: Man kann immer mehr im Browser machen.

Microservices: Reden ist Gold

In meinem Architekturworkshop bei der letzten BASTA! ging es unter anderem um Microservices. Ein Thema der Stunde ist das natürlich, das Architekturpattern dieser Zeit. Ich habe in dieser Kolumne schon zuvor davon geschrieben und bin persönlich sehr von den Vorteilen des Ansatzes überzeugt. Im angesprochenen Workshop kam schließlich diese Frage auf den Tisch: „Wie baue ich denn all diese Dienste und wie reden die dann miteinander?“

Windows und die Kommandozeile – ein Überblick für Entwickler

Windows ist eine feine Sache; alles, was erledigt werden muss, kann mithilfe der Maus getan werden. So war es jedenfalls einmal – gewissermaßen war das die Idee der grafischen Benutzeroberfläche in ihren Anfangszeiten. Gerade für Entwickler hat sich seit dieser Zeit allerdings viel verändert, sodass heute oft die Kommandozeile für bestimmte Aufgaben bevorzugt wird.

Microservices und Aktoren mit Akka.NET im .NET-Umfeld

Aktoren sind eine alte Idee, versprechen jedoch viele moderne Vorteile in ebenso modernen Umgebungen. Mit dem Framework Akka.NET sind Aktoren mittlerweile auch in C# und anderen .NET-Sprachen verwendbar, und es ist Zeit, den Ansatz etwas näher zu betrachten und in den Kontext moderner Entwicklung stark modularisierter und dienstbasierter Anwendungen zu bringen.

Alle Fehler getestet?

Getestet wird ungern, dabei bleibt es auch in Zeiten der agilen Entwicklung. Das sollte nicht so sein, denn eigentlich bieten ausführliche automatisierte Tests so viele offensichtliche Vorteile, dass niemand leicht dagegen argumentieren kann.

Tolle Typen – Wie statisch muss Typisierung sein?

Wenn es quakt wie eine Ente und schwimmt wie eine Ente, dann ist es eine Ente. Sie haben diesen Spruch schon einmal gehört – er wird von Verfechtern der dynamischen Programmierung seit Jahren immer wieder vorgetragen. Die Ente ist sinnbildlich ein Objekt, ein Element, mit dem anderer Code arbeitet, und an das dieser Code Erwartungen hat: quaken soll sie können, und schwimmen, und wenn das gegeben ist, dann ist alles in bester Ordnung.

X
- Gib Deinen Standort ein -
- or -