Neues in Visual F# 2010
F# ist eine Programmiersprache mit mehreren Paradigmen für .NET Framework, die in Visual Studio 2010 verfügbar ist. F# unterstützt funktionale, objektorientierte und imperative Programmierung.
Funktionen der Visual Studio 2010-Version von Visual F#
In den folgenden Abschnitten werden einige der in der ersten Version von Visual F# verfügbaren Funktionen beschrieben.
Unterstützung für funktionale Programmierung
Funktionen werden als Werte behandelt und können an andere Funktionen direkt übergeben werden. Diese Funktion erleichtert das Codieren von Funktionen höherer Ordnung (Funktionen, die auf Funktionen angewendet werden). Dies vereinfacht das Schreiben von deklarativerem Code, der i. d. R. weniger fehleranfällig ist.
F# unterstützt Kompositionsprogrammierung. Funktionen können mit einfacher Operatorsyntax nacheinander zusammengesetzt und aufgerufen werden. Sie können Funktionsaufrufe mit dem Pipelineoperator kombinieren. Dies ermöglicht es, die Ausgabe oder den Rückgabewert einer Funktion als Eingabe an eine andere Funktion zu übergeben. Sie können auch neue Funktionen definieren, indem Funktionen mithilfe des Kompositionsoperator kombiniert werden.
Weitere Informationen finden Sie unter Funktionen (F#).
Lambda-Ausdrücke
Mit Lambda-Ausdrücken können Funktionen direkt definiert werden, ohne sie mit Namen versehen zu müssen. Weitere Informationen finden Sie unter Lambda-Ausdrücke: Das fun-Schlüsselwort (F#).
Nützliche Datentypen
F# stellt Typen bereit, die funktionale Programmierstile unterstützen, z. B. Tupel für einfache Auflistungen von Daten und Unterscheidungs-Unions für strukturierte symbolische Daten. Weitere Informationen finden Sie unter Tupel (F#), Unterscheidungs-Union (F#) und Optionen (F#).
Unveränderliche Datentypen
F# stellt unveränderliche Datenstrukturen bereit, z. B. unveränderliche Listen, Zuordnungen, Sätze, Sequenzen und Datensätze. Weitere Informationen finden Sie unter Listen (F#), Sequenzen (F#) und Datensätze (F#).
Mustervergleich
Mithilfe von Mustervergleich können Sie Daten in einzelne Bestandteile zerlegen und auf Grundlage der Zerlegung von Daten komplexe Verzweigungen ausführen. Mustervergleich ist auch erweiterbar. Weitere Informationen finden Sie unter Vergleichsausdrücke (F#), Mustervergleich (F#) und Aktive Muster (F#).
Asynchrone und parallele Programmierung
F# unterstützt asynchrone Programmierung und umfasst Konstrukte, die diese Art der Programmierung einfacher als je machen. Weitere Informationen finden Sie unter Asynchrone Workflows (F#). F# kann auch in Verbindung mit Parallel Extensions for .NET Framework verwendet werden. Mit dem F# Power Pack können Sie auch Parallel LINQ (PLINQ) zusammen mit F# verwenden. Weitere Informationen finden Sie unter Parallele Programmierung in .NET Framework.
Interaktive Programmierung
Visual F# enthält einen F#-Interpreter (F# Interactive, "fsi.exe"), mit dem Code interaktiv kompiliert und ausgeführt wird. Dies ermöglicht Ihnen, leicht einen Prototyp des Codes zu entwickeln und Konstrukte zu codieren, ohne ein Projekt kompilieren zu müssen. F# Interactive ist in die Visual Studio-IDE integriert. Weitere Informationen finden Sie unter F# Interactive-Referenz (fsi.exe).
Verzögerte Berechnungen
F# unterstützt verzögerte Berechnung. Hierdurch kann eine Berechnung verzögert werden, bis ein Ergebnis benötigt wird. Weitere Informationen finden Sie unter Verzögerte Berechnungen (F#).
Unterstützung für objektorientierte Programmierung
F# unterstützt objektorientierte Sprachfunktionen, die F#-Programmen Vollzugriff auf .NET Framework sowie das Erstellen von .NET Framework-APIs in F# ermöglichen. Weitere Informationen finden Sie unter Klassen (F#), Member (F#) und Vererbung (F#).
Unterstützung für imperative Programmierung
F# unterstützt imperative Codekonstrukte, z. B. änderbare Variablen und Arrays, Funktionen mit Nebeneffekten und Schleifenkonstrukte, für Situationen, in denen diese Art der Programmierung das beste Verfahren zum Lösen eines Problems bietet.
Unterstützung für mathematische Berechnungen
F# unterstützt mathematische Berechnungen. Hierzu gehören die Unterstützung für mathematische Berechnungen mit Unterstützung von Operatorüberladung, Operatoren, die mit Generika verwendet werden können und einem vollständigen Satz mathematischer Operatoren, einschließlich eines Potenzierungsoperators.
F# unterstützt Gleitkommadaten mit zugeordneten Maßeinheiten. Dies ermöglicht Gleitkommaformeln mit Einheitenüberprüfung.
Erweitertes Typsystem
F# unterstützt generische Programmierung. Weitere Informationen finden Sie unter Generika (F#).
F# ist eine statisch typisierte Sprache, die Typrückschluss unterstützt. Dies bedeutet, dass alle Programmelemente zur Kompilierzeit einen eindeutigen Typ aufweisen, um Typsicherheit sicherzustellen, ohne dass Sie die Typen jedes Werts explizit angeben müssen. Da der F#-Compiler oftmals den Typ eines Programmelements ableiten kann, ohne dass ein expliziter Typ bereitgestellt wurde, ist der Code kompakter, und einige Typen von Programmierungsfehlern, die Typenkonflikte verursachen, treten seltener auf. Typrückschluss umfasst auch automatische Verallgemeinerung. Dies bedeutet, dass Funktionen, die generisch sein können, automatisch als generische Funktion kompiliert werden. Weitere Informationen finden Sie unter Typrückschluss (F#).
Nützliche Bibliotheken
Visual F# enthält eine Reihe von Bibliotheken, die die Kernsprache, Auflistungstypen, Reflektion für F#-Assemblys und formatierte E/A unterstützen. F# bietet auch Zugriff auf alle Funktionen von .NET Framework 4, z. B. Parallel Extensions for .NET Framework und Windows Presentation Foundation. Weitere Informationen finden Sie unter .NET Framework 4.