Buchbesprechung: Das Curry-Buch

Vor einigen Tagen schickte mir netterweise Hannes Mehnert ein Exemplar seines neuen Buchs Das Curry-Buch - Funktional programmieren lernen mit JavaScript (zusammen mit Co-Autoren Jens Ohlig und Stefanie Schirmer, gerade erschienen bei O‘Reilly, um die 30€). Hannes bin ich immer mal wieder bei der ICFP über den Weg gelaufen - dort hat er sich beim ICFP Programming Contest als Weltklasse-Programmierer zu erkennen gegeben. Für uns ist das Buch eine gute Gelegenheit, das Repertoire unseres Blogs um die Kategorie „Buchbesprechungen“ zu erweitern.

Weiterlesen...

Medizinische Datenverarbeitung mit funktionaler Programmierung - Ein Beispiel aus der Praxis

Funktionale Programmierung ist längst den Kinderschuhen entwachsen. Inzwischen setzen auch Firmen wie z.B. Twitter oder Microsoft auf funktionale Programmierung, um damit sichere, korrekte und performante Software in kurzer Zeit zu entwickeln.

Heute zeigen wir anhand eines Beispiels aus der Praxis, welche Produkte wir als Firma mit funktionaler Programmierung realisieren. Konkret geht es um das Produkt Checkpad MED, eine digitale und mobile Krankenakte für Krankenhausärzte (Film, Homepage). Checkpad MED wird in Kooperation mit Lohmann & Birkner unter technischer Federführung der factis research GmbH zu einem großen Teil in funktionalen Programmiersprachen entwickelt, im restlichen Teil setzen wir zumindest auf funktionale Paradigmen und Techniken.

In diesem Artikel soll es erstmal weniger um technische Details gehen sondern vielmehr um einen Überblick über das System und seine Architektur. Denn auch auf der Architekurebene kann man Prinzipien der funktionalen Programmierung anwenden und damit Vorteile bzgl. guter Testbarkeit und Nachvollziehbarkeit genießen.

Weiterlesen...

Randomisierte Tests mit QuickCheck

Die Programmiersprache Racket (früher bekannt als MzScheme) kommt mit einer QuickCheck-Bibliothek zum randomisierten Testen, mit der sich die Testabdeckung in Programmen erhöhen lässt: statt dass sich der Programmierer zahlreiche Tests überlegt und ausprogrammiert, generiert die Bibliothek anhand einer Spezifikation zufällige Testfälle, testet sie gegen definierte Eigenschaften und berichtet Gegenbeispiele, falls welche gefunden werden.

Weiterlesen...