Właściwy tytuł tego artykułu toF#. Z powoduograniczeń technicznych tytuł wyświetlany na górze strony jest nieprawidłowy.Logo języka | |
| Pojawienie się | 2005 |
|---|---|
| Paradygmat | |
| Typowanie | |
| Aktualnawersja stabilna | 10.0 |
| Twórca | |
| Licencja | |
| Platforma sprzętowa | |
| Platforma systemowa | wieloplatformowy (Windows,Linux,macOS,Android,iOS,Windows Phone i inne) |
| Strona internetowa | |
F# –wieloparadygmatowyjęzyk programowania zawierający w sobie głównie cechyjęzyka funkcyjnego, ale umożliwiającym także pisanie koduimperatywnego orazobiektowego. Jest językiemsilnie typowanym zaprojektowanym w celu pisania prostego, solidnego i wydajnego kodu do rozwiązywania złożonych problemów. F# łączy w sobie cechy takie jak zwięzłość, wydajność i ekspresywność. Język ten jest przykłademotwartego oprogramowania.
F# należy do rodziny językówML, ale posiada również funkcjonalności inspirowane innymi językami, np.leniwe sekwencje wzorowane na językuHaskell. Posiada także funkcjonalności nieobecne w innych językach programowania, na przykład wbudowaną obsługę jednostek miar.
W przypadku wykonywania kodu języka F# winteraktywnej powłocefsharpi, każde wyrażenie musi być zakończone dwoma średnikami (;;).
printfn"Witaj, Świecie!"
openSystem.NetlethttpGet(url:string)=usewc=newWebClient()wc.DownloadString(url)httpGet"https://pl.wikipedia.org/wiki/F_Sharp"
/// Ciąg Fibonacciego od trzeciego wyrazuletfibonacciSeq=Seq.unfold(fun(x,y)->Some(x+y,(y,x+y)))(0,1)/// Lista zawierająca pięć pierwszych elementów ciąguletfirstFive=Seq.take5fibonacciSeq|>Seq.toList// val it : int list = [1; 2; 3; 5; 8]/// Dziewiąty element ciąguletninth=Seq.item8fibonacciSeq// val it : int = 55/// Funkcja obliczająca średnią pierwszych `n' elementów ciąguletseqAverageseqn=Seq.takenseq|>Seq.mapfloat|>Seq.average/// Funkcja obliczająca średnią pierwszych `n' elementów ciągu Fibonacciego wykorzystująca ``auto-currying''letfibonacciAverage=seqAveragefibonacciSeqfibonacciAverage10// val it : float = 23.1
| 1GL | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2GL/ Język drugiej generacji/ Asembler | |||||||||||||||
| 3GL / Język trzeciej generacji |
| ||||||||||||||
| 4GL/ Język czwartej generacji/ Język dziedzinowy |
| ||||||||||||||
| 5GL/Logiczne | |||||||||||||||
| Ezoteryczne | |||||||||||||||
| Inne |
| języki wspierane standardowo przezVS | |
|---|---|
| inne języki i środowiska | |
| alternatywne implementacje platformy |