F Sharp
| Správny názov tohto článku je F#. Vynechanie # je spôsobené technickými obmedzeniami. |
| F# | |
| Druh | funkcionálny, objektový, multiparadigmatický |
|---|---|
| Dátum vzniku | 2002 |
| Použitie | všeobecné |
| Typová kontrola | statická, silná, implicitná |
| Tvorca | Microsoft Research (Don Syme) |
| Implementácie | .NET Framework, Mono |
| Používané prípony | .fs, .fsx, .fsi |
F# (vyslovované v angličtine ako F Sharp, /ef ʃɑɹp/, doslova to označuje notu fis) je multiparadigmatický programovací jazyk pre .NET spájajúci funkcionálny prístup s imperatívnym objektovo orientovaným prístupom.[1] Syntax jazyka vychádza z ML a OCaml a ďalej je ovplyvnená jazykmi Haskell a C#.[2][3]:1–2 F# je plne podporovaným jazykom pre platformu .NET a je súčasťou Visual Studia 2010.[2] V súčasnej dobe sa o vývoj jazyka stará Microsoft Research.[2]
Ciele jazyka a súhrn vlastností
[upraviť | upraviť zdroj]F# bol vyvinutý ako variant ML s niektorými konštrukciami prevzatými z jazyka OCaml.[4] Na rozdiel od mnohých skriptovacích jazykov sa rýchlosťou blíži k C#, (predovšetkým z dôvodu silnej typovej kontroly).[4] Taktiež podporuje mnoho dynamických programovacích techník ako je napríklad reflexia.[1] F# umožňuje prepojenie s ďalšími jazykmi vrátane jednoduchej implementácie DSL a bez problémov spolupracuje so všetkými .NET jazykmi.[3]:1–2
Microsoft Research uvádza ako hlavné výhody jazyka tieto:[4]
- funkcionálny jazyk so stručnou syntaxou a implicitným typovaním[4]
- možnosť interaktívneho skriptovania (ako v Pythone)[4]
- kombinácia typovej bezpečnosti a implicitného typovania (ako v ML)[4]
- výkon na úrovni C#, natívny beh na .NET frameworku[4]
- prístup ku všetkým .NET knižniciam[4]
- integrovanosť a plná podpora vo Visual Studiu[4]
F# je silne typový jazyk, ktorý však používa implicitné typovanie (dátový typ premennej sa nemusí
špecifikovať explicitne, prekladač ho rozpozná podla priraďovanej hodnoty).[5] Ako jazyk pre .NET
podporuje F# všetky typy z .NET frameworku, ale navyše pridáva niekoľko nemenných typov (zmena
ich hodnoty je možná iba vytvorením novej kópie) zviazaných so špecifickými vlastnosťami
jazyka a používaných predovšetkým pre úlohy funkcionálneho programovania.[3]:3–5 Týmito typmi sú: tuple,
record, discriminated union, list a function.[3]:3 V tejto súvislosti stojí za zmienku že aj typy .NET sú
v F# štandardne nemeniteľné, opak sa dá dosiahnuť použitím kľúčového slova mutable.
Dôležitou vlastnosťou jazyka je interaktívne skriptovanie, ktoré umožňuje komponenta F# Interactive.[5] Syntax jazyka sa pre skriptovanie v niektorých detailoch líši.[2]
Referencie
[upraviť | upraviť zdroj]- 1 2 Visual F# [online]. Microsoft, [cit. 2026-11-04]. Dostupné online. (po česky)
- 1 2 3 4 SZABÓ, Tibor; SCHINDLER, Frank. Programovací jazyk F# pre platformu .NET. Trendy ve vzdělávání 2009: Informační a komunikační technologie a didaktika ICT, 2009, s. 366–369. Dostupné online [cit. 2026-11-04].
- 1 2 3 4 Tomáš Petříček. F# Language Overview [online]. [cit. 2026-11-04]. Dostupné online. (po anglicky)
- 1 2 3 4 5 6 7 8 9 F# at Microsoft Research [online]. Microsoft Research, [cit. 2026-11-04]. Dostupné online. Archivované 2009-12-08 z originálu. (po anglicky)
- 1 2 Co je F#? [online]. Microsoft Learn, [cit. 2026-11-04]. Dostupné online. (po česky)
Iné projekty
[upraviť | upraviť zdroj]
Commons ponúka multimediálne súbory na tému F Sharp