F# that for a lark.
It's a good thing I'm not a programmer or I'd be F#ing up my coding attempts with every fat fingered typo. =-Jp
F# designer Don Syme said this week that the new version, 6.0, aims to be "more normal as a language" in order to improve take-up. There was a telling moment in the .NET Conf virtual event, just after the presentation of F# 6 from Syme and his colleague, principal program manager Kathleen Dollard. A developer asked: "What is …
No it's not based on Fortran (in the same way C is not based on COBOL).
While F# Is functional, it has always supported OO programming, and even mutability (you just need to declare variables as such - like Rust)
The biggest impediment to F# adoption is the number of features that have migrated to C#
Unlikely re:impediment. If that was the case, people would've been flocking to F# for years because of this. Instead, we've seen folks scared of lf because of reputation / FUD, culture within dotnet, lack of understanding of benefits as well as simply a lack of desire to try something else out.
Ironically the cross pollination could help by removing fear of things like Records, Pattern Matching and Tuples.
I've heard about F# but never used it, I'd guess because a) its structures don't enable solutions to the kind of problems that I've had to solve and b) because programmers don't typically get to choose the language they work in. I suppose making it .NET based makes it possible to slide F# components into a larger system but .NET and embedded tools tend to be a bit of a mismatch (you spend more time sorting out and proving the tools that you spend actually doing the work of solving the problem).
(Also -- you don't need a specialist language to do functional programming. Its just more fun.)
If Microsoft wants to make F# more usable, they could start by fixing the REPL.
Some know how much more code is required, and allows you to end input with ENTER
Jupyter allows you to end input with CTRL-ENTER and ALT-ENTER.
F# is unique in requiring two semi-colons. Not very friendly.
The ;; is only needed if you directly type stuff into FSI and is needed for multi-line support. Very, very few people do that.
Instead, use an editor like VS Code (free, cross platform) or Rider or Visual Studio, all of which have very good F# support and the ability to enter code in an code editor and send code to the REPL using, yes, ALT-ENTER.