F Sharp
F# | ||||
---|---|---|---|---|
Paradigma | multi-paradigma, functioneel, objectgeoriënteerd | |||
Verschenen | 2005 | |||
Ontworpen door | Microsoft Research, Don Syme | |||
Ontwikkeld door | Microsoft Research, F# Software Foundation | |||
Huidige versie | 9[1] | |||
Typesysteem | statisch, sterk, inferred | |||
Beïnvloed door | Ocaml, C#, Haskell | |||
Invloed op | C#, Elm, F*, LiveScript | |||
Besturingssysteem | Multiplatform | |||
Licentie | MIT-licentie | |||
Bestandsextensies | fs, fsi, fsx, fsscript | |||
Website | Projectpagina | |||
|
F# (F sharp) is een mix van een functionele en een objectgeoriënteerde programmeertaal voor het .NET-platform van Microsoft.
Kenmerken
[bewerken | brontekst bewerken]Net als bij de andere .NET-talen (zoals C#, VB.NET en J#) zijn de .NET-bibliotheken beschikbaar. Een CTP (Community Technical Preview[2]) voor Visual Studio zorgt ervoor dat je F#-applicaties kunt schrijven in een voor veel programmeurs bekende interface, en dat de geschreven programmeercode direct gecontroleerd wordt op fouten.
F# is ontworpen door Don Syme in de labs van Microsoft. De kern van de taal is ongeveer gelijk aan die van de Caml-programmeertaal, maar F# heeft zelf ook een standaard library, die ontworpen is om compatibel te zijn met de Ocaml-library.
Omdat F# gebruikmaakt van dezelfde CLR (Common Language Runtime) zoals C# en VB.NET, is het met F# direct mogelijk om samen te werken met Microsofts gamestudio XNA, en hiermee op erg eenvoudige wijze games te ontwikkelen.
Geschiedenis
[bewerken | brontekst bewerken]Aangezien F# net als JoCaml, MetaOCaml en OcamlP3l een dialect is van de Caml-programmeertaal is het moeilijk te zeggen wanneer er precies begonnen is met de ontwikkeling van F#. Versie 1 van de taal is ergens in 2005 vrijgegeven. De meest recente versie van de taal is 2.0 en deze versie is gepubliceerd op 12 april 2010.
Sterke punten van F#
[bewerken | brontekst bewerken]- F# is een scripttaal, maar het heeft de snelheid van C#, onder andere door strong typing
- Een hele rij aan beschikbare functies en bibliotheken vanuit het .NET Framework
- Een plug-in voor naadloze integratie met Visual Studio
- Geavanceerde technieken zoals property discovery en reflectie
- F# heeft standaard uitbreidingen, onder andere voor object georiënteerd programmeren
- F# kan net zoals de andere .NET-onderdelen probleemloos samenwerken met de andere programmeertalen en gebruikmaken van de tools die beschikbaar zijn
Voorbeelden
[bewerken | brontekst bewerken]Hello World in F#
(* Dit kleine programmaatje print "Hello World" op de commandline *) printfn "Hello World"
Winforms in F#
open System open System.Windows.Forms (* Het form aanmaken en de hoogte, breedte en de titel setten *) let form = new Form() form.Width <- 400 form.Height <- 400 form.Text <- "F# WinForms voorbeeld voor Wikipedia" (* Menu bar, menus *) let mMain = form.Menu <- new MainMenu() let mFile = form.Menu.MenuItems.Add("&File") let miQuit = new MenuItem("&Quit") let _ = mFile.MenuItems.Add(miQuit) (* RichTextView voor de tekst *) let textB = new RichTextBox() textB.Dock <- DockStyle.Fill textB.Text <- "Gefeliciteerd! Je eerste F# WinForms project is een feit!" form.Controls.Add(textB) (* Menuopties afvangen *) let opExitForm sender args = form.Close() miQuit.add_Click(new EventHandler(opExitForm)) (* En uitvoeren! *) Application.Run(form)
Externe links
[bewerken | brontekst bewerken]- (en) Microsoft Research F# Home
- (en) F# Software Foundation
- (en) Een website met Engelstalige F# tutorials
- (en) Don Symes WebLog