Warum F#

 

Mit über 30 Jahren Erfahrung in der Programmierung und Softwareentwicklung habe ich sehr vieles gesehen, gemacht und gelernt. Jahrzehnte lang war die Objektorientierte Entwicklung das A und O. Aber der Fortschritt stockte doch irgendwie, wenn man Software mit Elektronik vergleicht. Software Entwicklung dauerte typischerweise immer länger als geplant. Die Software Qualität von Fehlverhalten bis hin zu Anwenderfreundlichkeit lässt immer noch zu wünschen übrig. Die Aufwände trotz der viel gelobten Wiederverwendung von Objektorientiertem Code wurden nie kleiner.

Das kann doch nicht sein. Wo ist der Fortschritt geblieben? Stecken wir in einer Sackgasse?

Wie in “Über mich" beschrieben, ich suchte und fand etwas in Vergessenheit geratenes, die Funktionale Programmierung (FP), die schon älter ist als die Objektorientierte.

Und ich glaube es ist der Schlüssel, vieles einfach und besser zu machen und aus dem Sackgassen Dilemma auszubrechen und die Produktivität und Qualität von Software massiv zu erhöhen.

Der Grund wieso man jetzt immer öfter von FP hört ist, weil es die Beste Lösung für die Skalierbarkeit der immer wachsenden Prozessor Anzahl in Computern ist. Also die Asynchrone- und Parallele-Programmierung. So dass die Software die vorhandenen Hardware Ressourcen korrekt und effizient Nutzen kann und so dem Anwender das bieten was er erwartet.

Meine Erfahrung zeigt mir, die praxisorientierte Programmiersprache dazu mit sofortigem praktischem Nutzen und ohne viel verwirrende Sprachkonstrukte, ist F# für .NET.

  • Voll kompatibel mit der kompletten .NET Umgebung.
  • Und es gibt Sicherheit und ist durchschaubar, denn F# ist Open Source.
  • Baut auf lange bewährtem auf und ist keine reine Microsoft Erfindung.

Der Stammbaum : Die Abstammung von F#

ML (1973) -> SML (1984) -> Caml (1987) -> OCaml (1996) – – -> F# (2007)

F# ist sehr stark an OCaml orientiert und z.T. auch Syntax kompatibel, also OCaml ist CAML mit objektorientiertem Zusatz, der wohl im OO-Hype Zeitalter dazu genommen wurde.

Quelle: Programmiersprachen Stammbaum

Die anderen aktuellen FP Sprachen und ihre Einflüsse sind z.B.

  • F# 1.0 (2007) : Objective CAML, C#, Haskell
  • Scala 1.0 (2003) : Java, Pizza, ML, Haskell, Smalltalk, Erlang
  • Haskell 1.0 (1987) : APL, LISP, Miranda, ML

Quelle: Wikipedia

Was Entwickler überzeugen wird folgt Stück für Stück in technischen Blogs.