Live data from Hacker News

Update to the .NET language strategy

devblogs.microsoft.com

21–30 of 151 posts

Re: Update to the .NET language strategy

#21
post #7

TLDR: C# is our real language. F# is a thing that gets supported to the extent that unpaid volunteers do the work. VB is in back-compat legacy support mode.

Huh? F# has Microsoft Research building it and its libraries and optimizing compilers, no?

I think GP gave a cynical, but fairly accurate summary. If F# is worked on by MS research, they certainly didn't communicate that in the strategy they just published.

C#

>We will keep evolving C# to meet the changing needs of developers and remain a state-of-the-art programming language. We will innovate eagerly and broadly in collaboration with the teams responsible for .NET libraries, developer tools, and workload support, while being careful to stay within the spirit of the language.

F#

> We will drive F# evolution and support the F# ecosystem with language leadership and governance. We will encourage community contributions to improve the F# language and developer experience.

Re: Update to the .NET language strategy

#22
post #17

How well are F# and C# supported on the Linux platform?

C# support should be pretty good. You've got options. You can use the Mono ecosystem, including the MonoDevelop IDE, Mono runtime, and libraries like GtkSharp; these have been around for a while and some Linux desktop apps use it. You can also use the official Dotnet SDK and runtime, which lacks some stuff that Mono has for compatibility (like Winforms) but should have a good developer experience in either VSCode or…

F# comes with the .NET SDK. Once you install it, you get F#, so F# isn't behind at all. Mono is largely irrelevant except for legacy applications things like Godot and Unity that use Mono.

Re: Update to the .NET language strategy

#23

How well are F# and C# supported on the Linux platform?

.NET 5+ (fka .NET Core) is cross-platform.

We've been developing on Windows and have been deploying exclusively to Linux since 2017, everything runs flawlessly. Only time where the deployed version was different was when the locale wasn't set in a Docker container.

Developing on macOS has an issue with running HTTPS/2 and gRPC endpoints which should be resolved in .NET 8 [1].

The notable part where .NET Core is lacking vs legacy Windows .NET Framework is graphics, i.e. System.Drawing and all Desktop GUIs, otherwise it's a first class cross-platform runtime.

[1] https://github.com/dotnet/runtime/issues/27727

Re: Update to the .NET language strategy

#24
post #14

Earlier quoted context omitted.

First class. I would wager that most new .NET projects are primarily targetting Linux for deployment.

* for serverside

Yea I'm guessing there's not a ton of fresh WPF or forms desktop apps being created. We've mostly moved to ASP.Net backends with React frontends wherever possible.

Re: Update to the .NET language strategy

#27
post #22
post #17

Earlier quoted context omitted.

C# support should be pretty good. You've got options. You can use the Mono ecosystem, including the MonoDevelop IDE, Mono runtime, and libraries like GtkSharp; these have been around for a while and some Linux desktop apps use it. You can also use the official Dotnet SDK and runtime, which lacks some stuff that Mono has for compatibility (like Winforms) but should have a good developer experience in either VSCode or…

F# comes with the .NET SDK. Once you install it, you get F#, so F# isn't behind at all. Mono is largely irrelevant except for legacy applications things like Godot and Unity that use Mono.

On Linux, I don't think Mono is irrelevant. It would not be abnormal to have both upstream dotnet and Mono on the same machine for desktop Linux.

Re: Update to the .NET language strategy

#28
post #7

TLDR: C# is our real language. F# is a thing that gets supported to the extent that unpaid volunteers do the work. VB is in back-compat legacy support mode.

Huh? F# has Microsoft Research building it and its libraries and optimizing compilers, no?

Last time I talked to them, the entire f# team at Microsoft was still fewer than 10 people. Language features, lsp modules, visual studio support, etc. They do technically exist but it's far from a focus at ms.

Re: Update to the .NET language strategy

#29

Earlier quoted context omitted.

Honestly, most people still using Visual Basic at this point probably aren’t itching for new features. Stability is a feature itself when it comes to legacy code.

Absolutely. Saying this as someone who codes 100% in VB supporting applications that are 25+ years old. Honestly, I couldn't be happier with the language strategy as I was wholly expecting VB to be discontinued.

.NET itself is about 20 years old. How are you supporting VB apps that are 25+?
Post reply on HN