2 ms·
And more specifically: F# is a first-class .Net langauge. That means it has full access to the Base Class Library and cross language interop. It's as "general
by bonesss 9y ago
And more specifically: F# is a first-class .Net langauge.
That means it has full access to the Base Class Library and cross language interop. It's as "general purpose" as C#, but wildly better for most "general" development by a) having builtin scripting support, b) being multi-paradigm, and c) having an interactive REPL-based development cycle.
There are certain kinds of OOP constructs that will always make more sense in a pure OOP language... For the other 99.95% of development being able to drop all the cruft and simplify your tasks, simplify your namespaces, and simplify your apps is a beautiful thing. Even while learning: at anypoint an imperative, OOP, or mutable solution makes sense you can just do it. You won't want to, but you can: easily.
F# feels as free and intuitive as Python in the small, while providing structural & type-based guarantees (and productivity!), that far outstrip C#/Java in the large.
[Arguably F# is also the first "mature" .net language in that it had the benefit of language design after most of the CLR was done... It's much more comfortable for dynamic generation/loading of AppDomains and such.]