Jde o to, že ML se striktně snaží o typovou inferenci, takže to "naopak" plyne z toho, že vlastně říká "věřím tvému kódu a odvodím si z něho typy" namísto "věřím explicitním typovým anotacím, které musíš zapsat".
Napříkld pokud v ML (například na https://sosml.org/editor) zadáš:
fun fib 0 = 0
| fib 1 = 1
| fib n = fib (n - 1) + fib (n - 2);
Tak si ML odvodí typ
val fib = fn: int int;
A bude ho striktně hlídat, a to i uvnitř té samé funkce (stačí zkusit změnit 2 na 2.0 a rozdíl je vidět)
OcaML a F# do toho "jen" přidávají další objektovou a "interfacovou" omáčku :-p
Ved .Net uz takmer 10 rokov ide aj na linuxoch a vsetko okolo neho je pod MIT lienciou. A to, ze je od Microsoftu? No a? Je to Go, co je od Googlu, Rust,, co je od Mozilly a na obe spolocnosti sa najdu heiteri a tiez sa tu najdu ludia co ich povazuju za stelsnenie zla.
Naozaj nie je dovod uprednostnovat jednu korporaciu pred druhou.
Ak by ten serial fakt bol, tak by som sa velmi potesil, lebo F# ma zaujal, ale este som nemal moznost sa don dostat do hlbky.
Ve všem máš pravdu. Jde spíše prostě o takový sentiment.
F# jako jazyk udělal všechno správně. Má zajímavé osobnosti co za ním stojí, přátelskou komunitu a dobrou dokumentaci. Problém je ale, že M$ na F# kašle, protože peníze mu vydělává zpatlaný C#. Za ta léta existence se F# uživatelská základna moc nerozrostla.
F# taky trpí interoperabilitou s objektovým C# a VM. F# jsou takové dva jazyky v jednom. Kupodivu i Scala (3) je v porovnání s F# v jádru velmi jednoduchý jazyk (kompexnost pak leží jinde než v jádru jazyka).
Společnosti o ho používají z toho určitě profitují, je to kvalitní jazyk, ale žádná zářivá budoucnost ho už asi nečeká. Na to je tu moc dlouho a C# stále pomalu doplňuje features, které F# protlačil.
Popravdě, pokud není společnost .NET shop, tak klidně může risknout OCaml, který v posledních verzích hodně tlačí velmi zajmavé novinky (effect system, konečně multicore atd.)
16. 6. 2023, 10:51 editováno autorem komentáře