Hoofdmenu openen

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

F#
FSharp Logo.png
Paradigma multi-paradigma, functioneel, objectgeoriënteerd
Verschenen 2002
Ontworpen door Microsoft Research
Ontwikkeld door Microsoft Research
Huidige versie 2.0 (april 2010)
Typesysteem statisch, sterk, inferred
Beïnvloed door Ocaml, C#, Haskell
Besturingssysteem Multiplatform
Licentie Microsoft Research Shared Source license agreement
Website F# op Microsoft.com
Portaal  Portaalicoon   Informatica

F# (F sharp in het Engels) is ook een muzikale aanduiding voor een door een kruisteken met een halve toon verhoogde noot F, de fis.

Inhoud

KenmerkenBewerken

Net als bij de andere .NET-talen (zoals C#, VB.NET en J#) zijn de .NET-bibliotheken beschikbaar. Een CTP (Community Technical Preview[1]) 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.

GeschiedenisBewerken

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

  • 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

VoorbeeldenBewerken

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 linksBewerken