17. December 2017

Warum funktionale Programmierung?

Funktionale Programmierung erlebt derzeit in mehreren Breichen eine Aufleben. Sie erlaubt es einfacher deklarativ zu programmieren. So lässt sich die fachliche Steuerungslogik besser von der darunter liegenden algorithmischen Arbeitslogik trennen.

more

17. December 2017

Gewaltenteilung bei Bitcoin

Bei Bitcoin gibt es im Wesentlichen drei Gruppen von politischen Akteuren: Nutzer, Miner und Entwickler. Sie alle stehen in gegenseitiger Abhängigkeit. Die Nutzer vertrauen den Entwicklern, dass die Bitcoin-Software sicher ist und messen deshalb der Währung Bitcoin einen Wert zu. Die Entwickler vetrauen wiederum den Minern, dass diese dafür sorgen, die Sicherheit der Blockchain zu gewährleisten. Und die Miner vetrauen darauf, dass die Nutzer der Währung Bitcoin einen Wert beimessen, in der sie bezahlt werden. Der Wert der Währung folgt also aus einem Zirkelschluß, was Bitcoin schon immer einiges an Kritik eingebracht hat. Es ist erstaunlich wie dieses System es schafft, sich an seinen eigenen Schnürsenkeln in immer weitere Höhen zu ziehen.

more

31. August 2017

CouchDB: alt aber oho

CouchDB wird gerne als eine von viele NoSQL-Datenbanken verschrien, was dem Projekt in keiner Weise gerecht wird. CouchDB ist eine dokumentenorientierte Datenbank, die von Grund auf als vollwertiges Backend für Webanwendungen konzipiert ist. D.h. es ist keine klassische Geschäftslogik-Schicht vorgesehen bzw. notwendig. Stattdessen setzt CouchDB konsequent auf Command-Query-Repsonsibility-Segregation (CQRS) und bietet an, Validierungs-Funktionen (auf Command-Seite) und Aggregations-Funktionen (für die Query-Seite) zu hinterlegen. Diese werden in JavaScript definiert und bilden die Geschäftslogik vollständig ab. Die Applikationslogik (der Fluß/Ablauf der Anwendung) wird von der Browserseite gesteuert.

more