Zusammensetzbare Datenbank-API in F#

Für den Programmierer bietet der Einsatz einer Datenbank viele Fallstricke: Unabhängigkeit von einer bestimmten Datenbank-Implementierung, Fehlerbehandlung, verschachtelte Transaktionen, Testbarkeit, um nur ein paar zu nennen.

Wie lassen sich solche Fallstricke vermeiden oder wenigstens entschärfen? In unserem in F# geschriebenen Key-Value-Store Active.Net.AddOnlyDb, der eine schnelle und leichte Synchronisation zwischen mobilen Geräten erlaubt, haben wir eine zusammensetzbare Datenbank-API implementiert, welches sich zum Ziel gesetzt hat, genau diese Fallstricke zu vermeiden. Anhand einer kleinen Beispiel-Funktion update zeige ich in diesem Artikel, wie die AddOnlyDb-API dem Programmierer hilft, die Fallstricke zu vermeiden.

Weiterlesen...

Ereignisorientierte Simulation mit funktionaler Programmierung, Teil 1

Wie sieht der Umstieg von klassischer objektorientierter Programmierung in die (rein) funktionale Programmierung konkret aus? Diese Artikel ist der erste einer Serie, in der wir ein kleines, aber realistisches Java-Projekt in Haskell übersetzen und die dabei auftretenden architektonischen Unterschiede beleuchten.

Dies ist der erste Teil einer kleinen Reihe; inzwischen gibt es auch Teil 2.

Weiterlesen...

BOB Konferenz am 19.2.2016 in Berlin

BOB 2016

Die Konferenz BOB 2016 ist in den Startlöchern: Am Freitag, 19.2.2016 findet die zweite Auflage in Berlin statt. Wir laden alle Interessierten ein, sich bei Vorträgen und Tutorien über das Beste zu informieren, was die Softwareentwicklung zu bieten hat. Das Programm besteht aus zwei parallelen Tracks mit insgesamt 14 Vorträgen sowie zwei Tracks mit acht Tutorials. Die Online-Registrierung läuft; bis zum 17.1. gibt es noch Frühbucherrabatt.

Weiterlesen...

Funktionale Programmiererinnen und Programmierer gesucht

Wir von factis research suchen Softwareentwicklerinnen und Softwareentwickler mit Schwerpunkt funktionale Programmierung.

Factis research entwickelt das Produkt Checkpad MED, eine elektronische Patientenakte für iPad, iPhone und Co. Bei Checkpad kommt an vielen Stellen funktionale Programmierung zum Einsatz. So ist z.B. das Backend fast komplett in Haskell geschrieben, aber auch im iOS-Client möchten wir vermehrt auf die funktionalen Features der Sprache Swift setzen.

Wir brauchen Unterstützung bei der Entwicklung von Checkpad!

Weiterlesen...

Funktionale Programmierung mit Swift

Letztes Jahr hat Apple mit Swift eine neue Programmiersprache vorgestellt. Über kurz oder lang wird Swift die Standardsprache werden, um Apps für iPhone, iPad, Mac und Co zu entwickeln. Und Swift enthält viele Elemente der funktionalen Programmierung, Zeit genug also, dass wir in diesem Blog mal einen genaueren Blick auf die Sprache werfen.

Interessant ist, dass Apple in Swift nicht nur einfach ein paar liebgewonnene Features aus funktionalen Sprachen eingebaut hat. Nein, es scheint vielmehr, dass grundlegende funktionale Designparadigmen wie „Werte statt veränderbare Objekte“ und „Seiteneffekte ja, aber mit Disziplin“ auch in Apples Vorstellung von guter Softwarearchitektur eine große Rolle spielen. Exemplarisch seien hier zwei Vorträge der Apple Worldwide Developers Conference genannt. Im Vortrag Building Better Apps with Value Types in Swift geht es um die Vorteile von Werttypen (value types) in Swift, also von Typen deren Werte unveränderbar sind. Und der Vortrag Advanced iOS Application Architecture and Patterns schlägt in dieselbe Kerbe, hier geht es ebenfalls um Werttypen und Unveränderbarkeit (immutability).

Weiterlesen...