Live data from Hacker News

Update to the .NET language strategy

devblogs.microsoft.com

81–90 of 151 posts

Re: Update to the .NET language strategy

#81
post #63

Earlier quoted context omitted.

Unity3D is probably one of the most widely used cross platform native app development platforms, and it’s taking c# .net code to Linux, macOS, android, iOS and browsers via wasm.

This doesn't speak to the cross-platform .NET Core runtime as Unity3D is built with C++ and still uses their modified fork of Mono to run C# code whilst their WASM uses their IL2CPP tool to convert .NET byte code to C++ before using Emscripten to convert to WASM.

Unity is moving to .NET 5+ and, if I remember their documentation correctly, the hold up is entirely on their side and not due to the .NET runtime not being cross platform enough.

Re: Update to the .NET language strategy

#82
post #72
post #68

Earlier quoted context omitted.

> it's not called Dotnet Core anymore; just Dotnet. The platform has been renamed to ".NET" (since v5), the SDK is ".NET SDK" the executable is named "dotnet", but it has never been branded that way.

The point I was making is that what was once called .NET Core is now just .NET, after the merge with what was once called .NET framework. However, I think the name .NET is annoying to read and type, and it's ambiguous in a similar manner to Go, so I say Dotnet and Golang. Dotnet is literally just .net with the dot spelled out. It's not really a separate name.

> The point I was making is that what was once called .NET Core is now just .NET

Right, IMO it's important to use these official correct labels when correcting someone.

"Dotnet" looks like an unintentional Autocomplete error. The executable and repo names use "dotnet" since using ".NET" or previously ".NET Core" would be awkward and unconventional.

I'm assuming "Golang" is used because "Go" is a generic ungoogleable word, any language without this issue e.g. Python, Java, Kotlin wouldn't need to make such concessions.

Re: Update to the .NET language strategy

#83
post #24

Earlier quoted context omitted.

* 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.

Oh, there's definitely a huge amount of wpf and winforms created every day. That's what I meant. Those people just don't visit HN that often. (Then again, I created 4 windows specific wpf apps last year...)

Re: Update to the .NET language strategy

#84
post #41

> F# explores new language possibilities and the community provides a rich experience across platforms. There are several interesting observations to be had here. For one, F# already explored (past tense) new language features and has long been essentially feature complete. It gets little features here and there, which are generally quality of life type of things (like anonymous records, for example). Another interpr…

> I wish people would embrace it like Elixir has been embraced. F# is a lot more popular than Elixir.

I'm not sure about that given the amount of jobs I have had and found in Elixir, which also has a more vibrant ecosystem. I have strong confidence that I could get another Elixir job. I would be surprised if I could even locate an F# job.

Re: Update to the .NET language strategy

#85
post #82
post #72

Earlier quoted context omitted.

The point I was making is that what was once called .NET Core is now just .NET, after the merge with what was once called .NET framework. However, I think the name .NET is annoying to read and type, and it's ambiguous in a similar manner to Go, so I say Dotnet and Golang. Dotnet is literally just .net with the dot spelled out. It's not really a separate name.

> The point I was making is that what was once called .NET Core is now just .NET Right, IMO it's important to use these official correct labels when correcting someone. "Dotnet" looks like an unintentional Autocomplete error. The executable and repo names use "dotnet" since using ".NET" or previously ".NET Core" would be awkward and unconventional. I'm assuming "Golang" is used because "Go" is a generic ungoogleable…

Sure, it's not like .NET is Googleable either though. I thought the fact that Microsoft uses the term Dotnet (obviously, only when necessary) was good enough.

Re: Update to the .NET language strategy

#86
post #80
post #38

Hot take but I wish they’d start a new lang in the spirit of what’s happening in swift/Kotlin instead of evolving C#. I use it everyday. I love the new pattern matching, it simplifies a lot of gnarly reflective type checks and feels good. Records are nice too. I see discriminant unions are coming soon. But they’re painting themselves into the corner in terms of syntax and overcoming OOP defaults. A fresh start would…

Where does TypeScript fit into this? It's a wildly successful language from Microsoft that's also interpreted but doesn't use the CLR. Disclaimer: I work at Microsoft, but not in the Developer Division.

Great question because I think TypeScript is the future in terms of a web stack. With the 'metaframeworks' (not just the ones from Meta, winky face) all moving towards a Server Side Rendering paradigm, I feel like a full-stack TypeScript world just makes so much more sense in terms of developer productivity.

I also use TypeScript every day, and I absolutely love it. I feel like the power and flexibility of it's type-system are incredible tools for an industry programmer. I think TypeScript is going to get more mileage for me personally and I'll reach for things like C# less and less, because it feels like it's not keeping up with where the web industry is going. (Who knows, maybe they will dust off ASP.NET MVC and ditch Razor pages for some kind of .tsx like experience. A dev can dream..)

Re: Update to the .NET language strategy

#87
post #64
post #38

Hot take but I wish they’d start a new lang in the spirit of what’s happening in swift/Kotlin instead of evolving C#. I use it everyday. I love the new pattern matching, it simplifies a lot of gnarly reflective type checks and feels good. Records are nice too. I see discriminant unions are coming soon. But they’re painting themselves into the corner in terms of syntax and overcoming OOP defaults. A fresh start would…

So what's happening in swift or kotlin that's out of reach for C#?

Everything they are doing in swift and Kotlin are within reach. Heck, those languages _copied_ a lot from C#, so it's the Original Gangster in terms of features. It's just that there's a lot of old baggage in there in terms of syntax and language defaults. Classes aren't sealed by default. Getting immutability requires lots of extra keywords, or you use `record`s, which are nice to use. I look at the new language features they're proposing, and it just feels like they are bending over backwards to add nice things because there's already so much there that they can't mess with. A clean slate would give them some freedom.

Re: Update to the .NET language strategy

#88
post #18

Earlier quoted context omitted.

> All the actual design work happened in the C# world, and our job was just to tag along and mimic whatever they had come up with. What's the unique guiding philosophy or use case of VB that would justify developing bleeding edge new language features in VB first? Maybe I am just being overly critical here but I just don't see how the use cases which VB accommodates would benefit from getting new features before C# g…

I always saw Basic as the language for non-professionals who wanted to create their own software: hobbyists, amateurs, small business owners, people who have an idea and want to automate whatever it is they're doing, but aren't trying to write code for a living. C#, by contrast, is a proper mainstream language for professional programmers.

Replace basic with Lua and read your line back. Just because a language is simple doesn't mean it can't have industrial purposes by whatever gauge you measure things. Theres a bunch of things I wouldn't use basic for just the same with C# and "popular-language-here".

Probably the most used programming language is VBA or maybe the Excel macro if you consider that a language.

Re: Update to the .NET language strategy

#89

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

I exclusively do C# dev on macos for what thats worth

With Rider or VS Code on Mac? I've been wanting to play around with C# but I already have Intellij Idea Ultimate subscription and I'm hesitant to add another one. I'm wondering how good of an experience would VSC be for C#.

Re: Update to the .NET language strategy

#90

Earlier quoted context omitted.

I exclusively do C# dev on macos for what thats worth

With Rider or VS Code on Mac? I've been wanting to play around with C# but I already have Intellij Idea Ultimate subscription and I'm hesitant to add another one. I'm wondering how good of an experience would VSC be for C#.

I've used VSC as a professional for 4 or 5 years now and love it. I prefer it over Visual Studio because the latter is so feature bloated. I'm currently using and M1 Mac to develop on and it works fine. Once you learn the shortcuts, you'll be zooming around.

Azure Data Studio is on its way to being a nice cross platform environment for databases, but it's not fully cooked yet. It was progressing really well but the last few months, it's been really slow to start the execution of any query for some reason. Hopefully they will fix that soon.

Both environments are plug-in based and there are a lot of good free ones available. You should definitely check it out.

Post reply on HN