It's nice to see their strong continuing support for F#. I'm no longer in the .NET ecosystem but when I was learning F# and using it day to day was some of the most enjoyable paid programming I've done

I wouldn't call it strong continuing support. F#'s been a second class citizen both in resources given and marketing support. Community effort is great, but as long as MS pushes C# as the flagship language instead of giving it the equal-or-lesser footing it deserves, F# can't truly pull ahead.

It's good to see C# catching up with the past decades of language research. Maybe it's MS's DNA - they're still heavily pushing C++.

Tooling is the only real reason to ever use C# over F# - C# just doesn't do much (anything?) better. That, and legacy/enterprisey dev.

Heck, C# 7's tuple support is exactly what F# used to do, but then capitulated to MS's idea of making System.Tuple, a reference (heap allocated) type. Now in C# 7 since they finally got around to being a bit serious, they implement a new value-type tuple.

I guess we should be happy for any F# support we get. And indeed, tooling for functional languages is poor in general, so F# certainly leads...

You're seeing us strike a balance here. As I point out in the post, there are millions of C# developers, and tens of thousands of F# developers.

However, we think F# has awesome growth potential, and is great for .NET in general. So while we can't defend spending the same resources on it as we do on C#, we want to do what it takes to nurture it and keep it healthy and growing.

Being on the inside at Microsoft over the past years, it's been great to see more and more of the organization think of F# as part of the family.

In my opinion Microsoft should focus more on base tools for F#, such as Roslyn, integration with dotnet core, etc.

Integration with Visual Studio is nice, but if the language is to be adopted in hacker circles, without major Microsoft investment, it needs to provide very solid and flexible tools on top of which the community can build awesome things.

Example of small things Microsoft can help with: as far as I can see Nuclide doesn't work with dotnet core (only Mono). Throwing 1-2 devs that way would pay good dividends, in my opinion.

> Example of small things Microsoft can help with: as far as I can see Nuclide doesn't work with dotnet core (only Mono). Throwing 1-2 devs that way would pay good dividends, in my opinion.

I don't know anything about Nuclide, but if they want to work with dotnet core, they should look into working with omnisharp-roslyn[0]. VS Code[1] and Atom[2] both have extensions that work with it.

> In my opinion Microsoft should focus more on base tools for F#, such as Roslyn, integration with dotnet core, etc.

I think there's already work underway for F# support for dotnet core[6].

As far as F# support for editors go, have a look at ionide[4]. They only have extensions for VS Code and Atom at the moment.

> Integration with Visual Studio is nice, but if the language is to be adopted in hacker circles, without major Microsoft investment, it needs to provide very solid and flexible tools on top of which the community can build awesome things.

Have you seen omnisharp[5]? If so, what's missing from that?

[0] https://github.com/OmniSharp/omnisharp-roslyn

[1] https://github.com/OmniSharp/omnisharp-vscode

[2] https://github.com/OmniSharp/omnisharp-atom

[3] https://github.com/Microsoft/language-server-protocol

[4] http://ionide.io/

[5] http://www.omnisharp.net/

[6] https://github.com/dotnet/netcorecli-fsc