Warum Funktionale Programmiertechniken?

Lösungen

Funktionale Programmiertechniken bieten elegante effiziente Lösungsmöglichkeiten zu komplexen Problemen, die OO-Entwicklern meist unbekannt sind, weil sie in OO-Sprachen schlecht unterstützt sind und nur umständlich nachgeahmt werden können.

Z.B. Werden bei Objektorientierter Programmierung oft umfangreiche Frameworks zur Lösung hinzugezogen um z.B. Dependency Injection (DI) für die Parametrierung der Software verwenden zu können. In FP Sprachen wie F# ist dies eine simple Funktion als Parameter, da diese strukturell typisiert sind und man so ohne zusätzliche Abhängigkeiten von DI-Frameworks auskommt.

Korrektheit

Die Korrektheit und Präzision wird von der Funktionalen-Programmiersprache F# aktiv unterstützt. Objekt-Orientierte-Programmiersprachen wie z.B. C# sind von Grund auf weniger restriktiv und tragen so wenig zur Fehlervermeidung bei.

Z.B. Laufzeitfehler wie NullReferenceException die zu Abstürzen, Einfrieren und Fehlverhalten der Software führen können, werden in F# vermieden weil die Zuweisung von null an einen Wert vom Compiler nicht zugelassen wird.

Technik

Es bietet sich daher an, diese Techniken der Funktionalen Programmierung in einer funktionalen Programmiersprache wie F# zum Vorteil zu nutzen.

Da mit F# erzeugte Softwarekomponenten kompatibel zu anderen .NET Sprachen wie C# und VB.NET ist, ist F# sofort produktiv einsetzbar für .NET Entwicklungen. Da der F# Syntax-Umfang knapp ist im Vergleich zu C#, ist es leicht erlernbar.

Denkweise

Wichtig ist es zu erkennen, dass eine andere Denkweise ganz andere Ansätze und Lösungen bietet für komplexe Probleme.

Oft lassen sich komplexe Probleme viel einfacher, schneller, performanter und korrekter lösen, wenn man die Prinzipien der funktionalen Programmierung kennt. Für OO-Entwickler tut sich eine neue Welt auf, da F# auch OO unterstützt.