Funktional funktionieren

Eine Einführung in F
Kommentare

Am 12. April 2010 erschien Visual Studio (VS) 2010, mit dem neben C++, C# und VB auch eine neue Programmiersprache ausgeliefert wird, nämlich F#. Mit dem Visual Studio Release Candidate wurde F# 2.0 bereits freigegeben. Damit ist die Arbeit an F#, die 4 Jahre dauerte, zunächst beendet und die Sprache gilt nun als stabil. Grund genug F# etwas genauer unter die Lupe zu nehmen.

Aber was ist dieses F# nun eigentlich? Warum wird überall davon gesprochen? Nun, F# ist eine neue Programmiersprache für .NET. Damit hat sie alle Vorzüge anderer .NET-Programmiersprachen wie auch C#:

  • .NET-Datentypen
  • Garbage Collection
  • erstellen und verwenden von .NET-Klassenbibliotheken
  • COM-Interop
  • P/Invoke

F# kann außerdem unter ASP.NET und Silverlight sowie mit WinForms und WPF verwendet werden und unterstützt viele Programmierparadigmen oder -stile, z. B.:

  • funktionale Programmierung
  • imperative Programmierung
  • objektorientierte Programmierung
  • Metaprogrammierung

Zu den Sprachmerkmalen von F# gehören:

  • statische Typsicherheit
  • Typherleitung
  • unveränderliche Typen
  • generische Typen
  • automatische Generalisierung von Funktionen

Außerdem bringt F# auch neue Datentypen mit:

  • BigInt
  • Tupel
  • Records
  • unveränderliche Listen
  • Sequenzen
  • Option
  • Discriminated Unions

und enthält innovative APIs:

  • Reflection für F#-Datentypen
  • Code Quotations
  • Computation Expressions
  • Asynchronous Workflows
  • Units of Measure
  • Object Expressions
  • Pattern Matching

Hört sich doch spannend an, oder? Sicherlich ist es die Zeit wert, F# besser kennen zu lernen.

Einleitung

F# wird neben C++, C# und VB als weitere Sprache standardmäßig mit Visual Studio ausgeliefert. Sicherlich ein kluger Gedanke und strategischer Schachzug von Microsoft, um die Verbreitung dieser neuen Sprache zu beschleunigen. Mit den vorinstallierten Projekttemplates (Abb. 1) soll der Entwickler neugierig gemacht werden, denn früher oder später wird jeder Entwickler darauf stoßen.

Abb. 1: F#-Projekttemplates in VisualStudio 2010
Abb. 1: F#-Projekttemplates in VisualStudio 2010

Vielleicht mag der eine oder andere gerade ein Déjà-vu haben. Mit dem Erscheinen von Visual Studio 2003 wurde ebenfalls eine neue Programmiersprache ausgeliefert, nämlich J#. J# war als Brücke zwischen den beiden Plattformen .NET und Java gedacht. Man konnte mit J# nicht nur mit der Sprache Java .NET-Code programmieren, sondern es war auch möglich, das Java Development Kit (JDK) zu verwenden. Vielleicht steckte dahinter die Idee, Java-Programmierern den Umstieg auf .NET schmackhaft zu machen und zu erleichtern. Letztendlich blieb der Erfolg von J# aus. Der Grund liegt meiner Meinung nach darin, dass J# keinen zusätzlichen Nutzen im Vergleich zu C# gebracht hätte, dazu sind sich die beiden Sprachen einfach zu ähnlich. Die Befürchtung, dass F# nur ein Hype ist und genauso in der Versenkung verschwinden wird wie J#, möchte ich zerstreuen. F# hat einige Alleinstellungsmerkmale im Vergleich zu C#. Zwar gibt es einige Portierungen funktionaler Programmiersprachen für .NET, doch F# ist eine hybride Programmiersprache und wurde eigens für .NET entworfen. Vor allem bietet F# zusätzlichen Nutzen und ergänzt C#-Code hervorragend, anstatt ihn ersetzen zu wollen.

Installation

Wie bereits erwähnt, ist F# als stabiles Release bereits in der Version 2.0 mit dem Release Candidate von Visual Studio 2010 verfügbar gemacht worden. Aus der Praxis weiß ich aber, dass nicht alle die Möglichkeit haben, VS 2010 testweise zu installieren bzw. nicht direkt nach Erscheinen von VS 2010 damit arbeiten werden. Wahrscheinlich werden Sie noch eine Weile mit Visual Studio 2008 hantieren, bevor Sie umsteigen können. Daher beschreibe ich hier, wie F# für VS 2008 installiert werden kann. F# ist auch als separater Download für Visual Studio 2008 erhältlich. Dieses kann bei Microsoft Research [1] und auch bei MSDN [2] heruntergeladen werden. Beide Links führen zum Microsoft Download Center. Nach der Installation des Msi-Packets werden der Compiler und Tools sowie die F#-Projektvorlagen installiert. Außerdem integriert sich das Tool „F# Interactive“ als Toolfenster in Visual Studio. Der Hauptteil der Installation besteht aber in den F# Language Services, die ein bequemes Arbeiten mit F# überhaupt erst möglich machen, indem sie z. B. Syntax-Highlighting und Intellisense unterstützen. Eine kostengünstige Möglichkeit F# zu verwenden, z. B. für Studenten, ist die Visual Studio Shell (Abb. 2). F# ist zwar nicht als Express Edition erhältlich, aber mit der Visual Studio Shell können Sie F# kostenfrei nutzen. Die Visual Studio Shell ist quasi das Grundgerüst von Visual Studio. Programmiersprachen und Tools können hier integriert werden, so auch F#. Wichtig ist, dass Sie die Visual Studio Shell integrated herunterladen, das es auch eine gleichnamige isolated Shell gibt.

Abb. 2: Verwendung von F# mit der Visual Studio Shell
Abb. 2: Verwendung von F# mit der Visual Studio Shell

Wer möchte, kann F# auch unter Mono installieren und verwenden. Eine Anleitung hierzu finden sie unter [3]. Zum Editieren empfiehlt die F#-Community den emacs Editor [4].

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -