However F# suffers from a bigger issue, that clojure doesn't, belonging to the platform owner, that behaves as if it was an error to make it part of VS 2010.
However F# suffers from a bigger issue, that clojure doesn't, belonging to the platform owner, that behaves as if it was an error to make it part of VS 2010.
And I dont think F# failed, I just think it needs to find a way to hide C# and OOP better
But the language is doing fairly well, tons of educational resources, tons of videos on youtube , several nice projects on github, solid vs code mode, it is part of .net , but still a lot can be improved, and microsoft is far from abandoning, C# is one of MS flagship products , F# is not a flagship product
And I also think that Don Syme is a lot more active working for F# and promoting it, than Rich Hickey is currently working for Clojure
> microsoft is far from abandoning
Might has well. When you look at the resources actually being deployed for F#, it's clear that MSFT either don't care or don't really have plan for F#. Most of the work is done by the community. The number of actual paid/full time MSFT dev on F# is very limited. The tooling is extremely limited, there is no official F# libraries for pretty much any MSFT and azure services (have to relie on C# libs.) In leetcode where the have C# (so already have the infra to run .net stuff, and language like elixir and racket (so they do have more niche language), they still don't have F#.
The salvation for F# would come from finding a killer app, something akin to pytorch/numbpy or rails.
In my opinion, and I mean this in the broadest way possible, the average C# developer is probably less motivated to learn a new language than the average Java developer. That's because C# developers are prescribed by Microsoft what to do, and Microsoft could deliver a productive-enough experience with C# + .NET Framework + Visual Studio for a long long time.
Java's fractured IDE story and runtime (OpenJDK vs. HotSpot) I think lead to a higher concentration of programming language people looking at the JVM as a viable target to build a better experience on top of, so we got Groovy, Scala, Kotlin, (anyone remember Xtend?), IDEA, Eclipse, etc...
The bazaar produced and embraced a functional programming language whereas the cathedral treats F# as thunderdome for new C# features.
F# can do OOP just as well if not better than C#, and F# is anywhere from 2-10 times more concise than C#.
That being said, the mistake of Microsoft was viewing F# as a competitor to and research lab for C# and the community for viewing and selling it as a replacement for C#.
What Microsoft and the community should have done is treated F# as a competitor and replacement for Python from the start.
Also see the development effort Microsoft spends on Python across all their IDEs and what F# gets.
Every language lives under the iron fist of libc and the C ABI.