iX Special 2020
S. 132
Funktionale Sprachen
F#

F# in Enterprise-Entwicklungen

Funktional abtauchen

Roman Sachse

Mit F# können Entwickler*innen Geschäftsdomänen modellieren und Geschäfts­anwendungen aufbauen. Durch die vollständige Integration in das .NET Framework lassen sich Bibliotheken von C# aus Quellen wie Nuget integrieren oder Teilbereiche der eigenen Software in F# schreiben und von C# aus nutzen.

Funktionalen Programmiersprachen haftet in den Köpfen vieler Softwareentwickler*innen noch immer etwas Esoterisches an. Entwickler*innen, die sich mit solchen Sprachen beschäftigen, benützen Sätze wie: „Eine Monade ist nur ein Monoid in der Kategorie der Endofunktoren.“ Sie interessieren sich mehr für theoretische Konzepte und Diskussionen zu statischen Typen als dafür, funktionierende Geschäftssoftware zu schreiben. Microsoft hat bei der Einführung von F# in .NET nicht gerade dazu beigetragen, dieses Bild zu ändern. Insbesondere am Anfang wurde F# als Sprache für mathematische Anwendungen oder für das Bearbeiten großer Datenmengen gepriesen. Zusätzlich hat Microsoft die Sprache bisher recht stiefmütterlich behandelt.

Obwohl in den letzten Jahren pragmatische funktionale Sprachen wie Elm, Elixir, Clojure und auch F# stärker in den Fokus rückten, sind die klassische objektorientierte Programmierweise und Sprachen wie Java, C# oder PHP immer noch der Standardweg, Software zu schreiben. Ein Grund dafür ist, dass funktionale Konzepte auch in diesen Sprachen immer mehr Einzug halten und die Notwendigkeit wegfällt, sich grundsätzlich mit einer funktionalen Sprache auseinanderzusetzen. Dies ist sehr schade, da funktionale Denkweisen wie die grundsätzliche Unveränderlichkeit von Daten und unidirektionale Datenströme innerhalb einer Anwendung viele Probleme objektorientierter Anwendungen lösen, aber in Sprachen, die diese Konzepte nicht in ihrer DNA haben, nur sehr schwer oder umständlich umzusetzen sind.

Kommentieren