Expert F 2.0
Kommentare

Visual Studio 2010 enthält eine neue Sprache. F# ist Microsofts funktionale Sprache für die CLR. Zwar ist F# bereits seit 2008 erhältlich, aber nur als separater Download. Mit der Version 2.0 ist F#

Visual Studio 2010 enthält eine neue Sprache. F# ist Microsofts funktionale Sprache für die CLR. Zwar ist F# bereits seit 2008 erhältlich, aber nur als separater Download. Mit der Version 2.0 ist F# „erwachsen“ geworden und wird nun mit Mircosofts integrierter Entwicklungsumgebung ausgeliefert – als eierlegende Wollmilchsau sozusagen, denn F# umfasst neben dem funktionalen Paradigma auch die Möglichkeit, imperativ oder objektorientiert zu programmieren. Und so eignet sich eine funktionale Sprache wunderbar für die parallele Programmierung. Ist das nicht ein Grund, sich mit diesem Thema auseinanderzusetzen?

Don Syme ist der Hauptdesigner dieser Sprache. Aber auch die beiden anderen Autoren des Buches „Expert F#“ setzen sich beruflich mit dieser Sprache auseinander. Der Leser darf also hochkarätige Informationen erwarten und davon ausgehen, dass diese auf hohem Niveau angesiedelt sind. Wer sich mit Softwareentwicklung auskennt und genügend Abstraktionsvermögen besitzt, der kann mit diesem Buch in die funktionale Welt starten. Ebenfalls geeignet ist dieses Buch für Personen, die bereits ein wenig Erfahrung mit F# gesammelt haben, und diese nun ausbauen möchten. Nach einer kurzen Einführung in den Hintergrund und die Geschichte von F# starten die Autoren mit dem ersten F#-Programm. Nein, nicht mit irgendeiner Variante von „Hello World“, sondern mit einer Tring-Analyse, die Wörter und Duplikate zählt. Ein paar typische F#-Zeilen reichen hierfür aus. Die Erläuterung derselben nimmt ungleich mehr Raum ein. In den folgenden Kapiteln werden Operatoren, Listenrekursionen, Funktionswerte, Pattern Matching etc. vorgestellt. Es gibt Ausflüge in die Bereiche der imperativen sowie objektorientierten Programmierung, die F# auch beherrscht. Die Autoren zeigen dabei auch die Unterschiede der einzelnen Paradigmen auf. Generics, .NET-Bibliotheken, Datenbindung, User Interface sind Themen, die einem .NET-Entwickler nicht fremd sein dürften. In F# findet der Leser bekannte Konzepte, teilweise ähnlich, teilweise aber auch ganz anders verpackt. Und wozu braucht es LINQ, wenn doch Datenabfragen in Memory wunderbar mit F# erfolgen können? F#-Entwickler können beides alternativ nutzen. Natürlich gibt es auch ein paar Stellen, wo F# nicht so gut geeignet ist. Die Autoren verweisen dann durchaus auf C#, um bestimmte Aufgaben zu erledigen, zeigen aber auch, wie man F# für weniger typische Aufgaben einsetzt. So erscheint es, dass z. B. grafische Oberflächen mit C# leichter zu erstellen sind, aber es wird auch gezeigt, wie dies mit F# realisiert wird. Und dann gibt es natürlich Kapitel, die sich Themen widmen, an denen F# seine vollen Stärken ausspielt, unter anderem asynchrone und parallele Programmierung, auch für serverseitigen Code von Webanwendungen geeignet, sowie Lexing und Parsing. Warum nicht eine domainspezifische Sprache mit F# erstellen? Die Autoren zeigen dies am Beispiel von „Kitty“, einem Mini-Interpreter mit BASIC-ähnlicher Syntax. Abgerundet wird das Ganze durch Kapitel zur COM-Interoperabilität, Debugging und Erstellen von F#-Bibliotheken. Letztere stellen insofern eine Herausforderung dar, als dass rein imperative, objektorientierte oder funktionale Bibliotheken erstellt werden sollten. Die Vermischung der Programmierparadigmen ist den Autoren nach zu vermeiden.

Die Autoren holen den Leser also bei Null ab, aber es geht in recht forschem Tempo weiter. Insofern verlangt das Buch seinem Leser einiges ab. Die im Buch genannten Beispiele führen dabei nicht nur in die Sprache, sondern auch in die funktionale Denke ein. Um es zu wiederholen: Ein Buch für ambitionierte Entwickler oder solche mit Grundkenntnissen in F#, nicht aber für Einsteiger ohne Programmiererfahrung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -