Kurz: Funktionale Programmierung für .NET.
Genauer: F# wird eingesetzt für Finanzmodelle, Datenanalyse, Compiler und Parser, Backend-Dienste und Web-Frontends mit Fable. F# (ausgesprochen F Sharp, 2005, Microsoft Research / Don Syme) ist eine funktionale Sprache für die .NET-Plattform mit starker Typinferenz, Unveränderlichkeit als Standard und Pattern Matching. F# ist objektorientiert und imperativ erweiterbar und nutzt alle .NET-Bibliotheken.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 2005 |
| Entwickelt von | Don Syme (Microsoft Research) |
| Paradigmen | funktional zuerst, auch objektorientiert |
| Typisierung | statisch, Typinferenz |
| Ausführung | CLR (.NET) |
| Paketverwaltung | NuGet |
| Dateiendung | .fs, .fsx |
| Sprachfamilie | .NET-Sprachen |
Einsatzgebiete
Finanzmodelle, Datenanalyse, Compiler und Parser, Backend-Dienste und Web-Frontends mit Fable.
So führst du Code aus
Datei Program.fs in einem Projekt (dotnet new console -lang F#) speichern und mit dotnet run ausführen; Skripte mit dotnet fsi skript.fsx (.NET SDK von dotnet.microsoft.com).
Das erste Programm
printfn "Hallo, Welt!"
printfn "1 + 2 = %d" (1 + 2)
printf "ohne Zeilenumbruch"
printfn ""
let name = "Mia"
printfn "Hallo, %s!" name
printfn $"Interpoliert: {name} hat {name.Length} Buchstaben"
printfn "%s ist %d Jahre alt und %.1f m groß" name 17 1.68Ausgabe:
Hallo, Welt!
1 + 2 = 3
ohne Zeilenumbruch
Hallo, Mia!
Interpoliert: Mia hat 3 Buchstaben
Mia ist 17 Jahre alt und 1.7 m großDer Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: F#-Kurs auf der Lernseite.
- Einführung und erstes Programm
- Funktionen und Kontrollfluss
- Listen, Arrays, Maps und Sequenzen
- Records, Discriminated Unions und Typen
- Klassen, Interfaces und Module
- Strings, Dateien, Async und Computation Expressions
- Praxis und Ökosystem
- Referenz und Spickzettel
Ähnliche Sprachen
- OCaml: Funktional, statisch typisiert und schnell
- C#: Modern, vielseitig, die Sprache der .NET-Welt
- Haskell: Rein funktional, streng typisiert, elegant
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?