F Sharp

De titel van deze pagina kan door technische beperkingen niet correct worden weergegeven als F#. Dit artikel artikel gaat over de programmeertaal, voor de muzieknoot die ook wordt weergegeven als F# zie Fis.
F#
F Sharp
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] Bewerken op Wikidata
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
Portaal  Portaalicoon   Informatica

F# (F sharp) is een mix van een functionele en een objectgeoriënteerde programmeertaal voor het .NET-platform van Microsoft.

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.

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

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) 
[bewerken | brontekst bewerken]