Funktionale Sprachen: F# in der Enterprise-Entwicklung

F# ist eine statisch typisierte Functional-­first-Sprache mit Features und Idiomen sowohl für funk­tionales als auch für objektorientiertes Programmieren.

Lesezeit: 10 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 5 Beiträge
Von
Inhaltsverzeichnis

Funktionalen Programmiersprachen haftet in den Köpfen vieler Softwareentwickler noch immer etwas Esoterisches an. Entwickler, 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.

Mehr zum Thema Funktionale Programmierung

Zuerst gilt es, mit einigen Buzzwords aufzuräumen. F# ist eine statisch typisierte Functional-first-Sprache mit Features und Idiomen sowohl für funktionales als auch für objektorientiertes Programmieren. Die Sprache hat ein sehr mächtiges statisches Typsystem, das in den meisten Fällen in der Lage ist, den Typ eines Ausdrucks oder Wertes ohne die Angabe von Typparametern zu inferieren. Das bedeutet, dass es häufig nicht notwendig ist, die Typen bei Benutzung anzugeben. Der Compiler kann diese aus dem Kontext ableiten.

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+