F Sharp
| F# | ||||
|---|---|---|---|---|
| Paradigma | multi-paradigma, functioneel, objectgeoriënteerd | |||
| Verschenen | 2005 | |||
| Ontwerper | Microsoft Research, Don Syme | |||
| Ontwikkelaar | Microsoft Research, F# Software Foundation | |||
| Huidige versie | 10.0[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
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
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#
- 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
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
- (en) Microsoft Research F# Home
- (en) F# Software Foundation
- (en) Een website met Engelstalige F# tutorials
- (en) Don Symes WebLog
- ↑ "What's new in F# 10"; geraadpleegd op: 24 juli 2026; datum van uitgave: 11 november 2025.
- ↑ What does CTP stand for?
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.