Live data from Hacker News

.NET 6 Released

devblogs.microsoft.com

191–200 of 428 posts

Re: .NET 6 Released

#191

Java user here. What is a good book/set of resources on getting started in .NET/C#, possibly this version 6, without knowing the ecosystem beforehand (but with a experience in programming)? Thanks!

Check `C# X Pocket Reference: Instant Help for C# X Programmers` by Joseph Albahari and Ben Albahari. I've used this book to refresh my knowledge about .NET and C#.

Re: .NET 6 Released

#192

I wish they put more effort into round 10 version of C# . Features presented will have minimal impact on productivity and maintainability.

Static interface members enabling generic math and other cool features slipped the C# 10 quality bar. That is why the release looks a bit thin.

But honestly, with file scoped namespaces and global usings ... there is enough to see.

Re: .NET 6 Released

#193

Been thinking about switching to Rider (already had the personal license for Jetbrains from wanting CLion for Rust) and figured .NET 6 would be a good time to try making the switch. With how blah VS has been for a while hopefully I'll like the Rider experience better (for both c# and f#) Edit: Though I saw something this morning when I tried to load an f# project I made in VS refused to load even though the new ones…

I switched to Rider a few years ago. I really like it and I find its Vim emulation a lot lot better than what you can get for Visual Studio. Its F# support is ok, but I'd say VSCode+Ionide is better. But Rider isn't bad for F# still, and it has other tools it brings.

Re: .NET 6 Released

#194

Earlier quoted context omitted.

And Entity Framework Core unfortunately because EF6 was already a thing.

Yeah, hopefully as others have pointed out, with .NET 7 next year all the version numbers align so that ASP.NET and EF can drop "Core" again.

I guess they could do that, but what makes you think they actually will?

Re: .NET 6 Released

#195
post #5

.NET 6 seems like a pretty good release with a few cool new features. But it's funny how the infographic in the post mentions MAUI for desktop development, but the "desktop" keyword in the text is referring to the WinForms github repository. I can't think of a more concise statement about the state of GUI development on .NET. I would really wish for less fragmentation and churn in that space.

Replace ".NET" with "Windows" maybe? AS a longtime original VB/Winforms developer - MS lost their mind on desktop development and didn't look back. They chased EVERY fad that could be chased. Silverlight, UPF, XAML, WPF, Islands, MAUI. This is one of those things - imagine if they'd focused on building an amazing and cross platform (ultimately) toolkit with just a basic drag and drop designer? Who cares about "stylin…

IMO they need to realize the common denominator of all these failed and deprecated frameworks is the very thing they've desperately clung onto over all these false starts... and that is XAML.

Get rid of it.

Re: .NET 6 Released

#196
post #24

> In .NET 6, in-memory single file apps have been enabled for Windows and macOS. In .NET 5, this deployment type was limited to Linux. You can now publish a single-file binary that is both deployed and launched as a single file, for all supported OSes. Single files apps no longer extract any core runtime assemblies to temporary directories. This is a great! Now I can publish statically linked executables and run it e…

Wait, wait… .Net can build “static linked” executables that doesn’t require that I install .Net to run? I had no idea, I guess it’s time to revisit .Net

That's exactly what it is. You can even cross-compile for all supported platforms.

    $ dotnet new console -n HelloWorld
    $ dotnet publish --project HelloWorld -r osx-arm64 --self-contained -o out -p:PublishTrimmed=true
    $ du -sh out
    10M

Re: .NET 6 Released

#197

Earlier quoted context omitted.

Perceived cool factor, I think. Both .NET/C# and Java are the core of Dark Matter Development [0]. They're what a huge chunk of developers and enterprise actually use but they're not cool and they don't get blogged about. Obviously the history of EEE and Windows only legacy means there's a lot of hostility to anything .NET specifically amongst a subpopulation of developers. However I don't think it sufficiently expla…

> It's a bit of a shame because it would be nice to have more startup opportunities in .NET Even if you ignore the history of companies like MS and Oracle what it comes down to is vendor lockin. If there's a chance a vendor will pop up in 3 years time with a huge bill, why take the risk when there are plenty of free alternatives.

I think there is zero chance of that happening.

MS recently made one tiny decision that was unfriendly to open source, it caused a huge outcry and a reversal within 48 hours on a weekend. I can't even imagine what the reaction would be in your scenario.

Besides, basically everything is open source now and you can't put that genie back into the bottle.

Re: .NET 6 Released

#198
We recently got through upgrading a large code base from .NET framework to .NET core 3.1. It was quite challenging as it seemed to touch every corner of .NET including AppDomains, .NET remoting, serializing type information, C++ interop which requires environment variables to be set in process (that one is very obscure), etc, etc.

In any case, the performance results were really outstanding (particularly vs Mono) especially given we use C++ for many performance sensitive areas already. Looking forward to upgrading to .NET 6 in the coming months.

Great work! Congrats to the .NET team!

Re: .NET 6 Released

#199
post #34

As a relatively new engineer (~2 years FAANG experience), there seems to be a connotation around .NET. Perhaps this is indicative of the larger Microsoft ecosystem, but it feels like my peers at university and in the industry tend to stay far away from .NET for personal projects, etc. Why is this?

.NET 6 (or 5, or Core 3.1) is absolutely fine for personal projects. The tooling is great, it runs on Windows and Linux, the web stack is miles better than Spring Boot.

But if your personal projects are a stepping stone to a programming job, then .NET has a monstrous legacy problem. In 2002-2007 a lot of code was written using .NET in enterprises: it was the best way to write a rich desktop application for Windows and ASP.NET WebForms, while terrible, were an okay stack for intranet websites, certainly not worse than PHP5 without Yii or Laravel. And if you were a Microsoft shop, you got the best integration with MS SQL Server and (oh Lord) BizTalk if you used .Net.

But then Rails and Google Chrome came out and completely upended the webapp industry. Microsoft has been playing catch-up ever since.

A modern startup could certainly use .NET 6 instead of the framework of the month to write their world-shattering program, but they won't, because .NET isn't cool. A lot of .NET jobs are in stuffy enterprises where you likely won't be paid to write a backend to a Svelte SPA in .NET 6, you will be paid to maintain an ASP.NET WebForms 2.0 monster that uses WCF to talk to some SOAP/XML webservices.

Of course, the same applies to JavaEE, but Java has a second leg to stand on: people wrote FOSS in Java back when it was a dirty word at Microsoft, so not everything in Java shops is a terrible Spring/JavaEE mutant that has to be configured using vendor-specific XML.

Re: .NET 6 Released

#200
post #34

As a relatively new engineer (~2 years FAANG experience), there seems to be a connotation around .NET. Perhaps this is indicative of the larger Microsoft ecosystem, but it feels like my peers at university and in the industry tend to stay far away from .NET for personal projects, etc. Why is this?

I can chime in on this one. I think it's very much a 'culture' thing.

So, I'm a *nix guy. You know, running Sway WM, using Doom Emacs as my daily driver, that sort of a thing. Learned vim to write my thesis at night on an armchair where using the mouse was not comfortable.

Not long ago I accidentally got involved with a kind of a .NET consulting gig. Rather, I got involved as a domain expert to help out some SaaS startup dealing with that domain, and it just so happened that they were writing their thing in C#. Before that I hadn't used C# at all, mainly dealing with Python and C++. I liked the language, I thought the tooling on Linux was pretty decent. The ecosystem was a bit lacking for the domain in question, but it had other nice things going for it.

But there was definitely a bit of a culture clash with the .NET guys. As an example, I did my domain thing in a pretty much self-contained library. While writing it I needed something that would be 'just data' without any additional 'functionality' attached to it, so I naturally reached for `struct`, given that it exists in the language. The .NET guys asked why it was not a `class` instead. See, somewhere deep inside they felt that not wrapping everything in a `class` is wrong on some fundamental level. Later, I had to touch the rest of the codebase a bit. At one point there was something I felt was a 'one-line change', that took 12 files to edit. Mostly routing calls through different auxiliary classes because 'architecture'. And you know, I'm really not trying to diss those guys. They were nice, capable, smart, productive, good people. It's just that I was very evidently from a different 'tribe'.

So, I personally like the direction that .NET is taking. I think that this release has very nice things in it. Such as the statically linked binaries, and compilation to webassembly. I also believe that modern .NET has a nice value proposition in being able to use your code across the board in many contexts and settings. On top of that, both C# and F# are nice languages.

But I won't be looking for .NET jobs, or putting that .NET stint on my resume, lest some recruiter gets the wrong ideas!

Post reply on HN