Live data from Hacker News

.NET 6 Released

devblogs.microsoft.com

261–270 of 428 posts

Re: .NET 6 Released

#261
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?

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…

"Dark Matter Development" -- finally I have a name for it!

Sometimes you see articles on the Internet where someone basically says something along the lines of "All developers use the Linux bash command-line workflow", and I just look at statements like that and wonder what on earth are they talking about!?

I have never seen a developer familiar with the command line. I have never seen a developer willingly use a Linux desktop. I have never seen anyone do anything but boring, "dark matter" .NET and Java development using IDEs on Windows.

I'm not talking about a couple of guys here. I mean that I have met or interacted with hundreds of developers across dozens of organisations!

Literally not one has ever said: "I wish I had bash", or any similar statement.

I tell a lie. I just remember that the one startup that I worked for had: Linux, bash scripting, allergies to Microsoft, hip-new-technologies, etc, etc...

Re: .NET 6 Released

#262
post #186

Earlier quoted context omitted.

> Replace ".NET" with "Windows" maybe? There's Uno, Avalonia, Xamarin Forms, and MAUI, all cross-platform. I think it's a mess no matter what.

In all fairness, at one point you could actually make sense of things. Unless I'm misremembering, until recently Avalonia was still being touted as primarily a replacement for Desktop WPF. I was shocked to see they're talking about mobile now too. I guess it's somewhat expected. Uno basically does what MAUI does. The main difference being, Uno has been around for a while longer and something you've been able to use f…

And you could really evolve it. Databinding was surprisingly good and easy and fast - still beats web in my view - autocomplete, panels / options groups / tabbed windows etc all worked well (and were fast).

Re: .NET 6 Released

#263

For me Hot Reload is the most important feature, which will very likely be a reason for me to move a bit from Python over to .NET, which I haven't touched for 10 years. Back then I really used it a lot (after moving away from OLE/DCOM/ActiveX), in C++, Managed C++, C# and IronPython (no GIL!). I absolutely loved it, but it was limited to the Microsoft ecosystem. Yesterday, while randomly googling for "hot reload" I g…

Good catch!

Looks like they have walked this back, and Hot Reload for CLI (and thus, tools outside full the Visual Studio IDE) is here to stay. For now.

https://devblogs.microsoft.com/dotnet/net-hot-reload-support...

Re: .NET 6 Released

#264
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 an…

This wouldn't matter so much except that Microsoft completely broke all backwards compatibility for ASP.NET web applications. There's no "wizard" upgrade.

I'm working on migrating an ASP.NET 4.0 application right now, and it's basically stuck in the past.

Physically, yes, it could be updated by the developers to work on .NET 6.0, but no manager will ever fund this. They don't understand the benefits, and no amount of explanation will justify this effort in their minds.

So Microsoft basically stranded their customers on an iceberg floating away from the shore that is very slowly, almost imperceptibly melting...

Re: .NET 6 Released

#265
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 believe colleges tend to circle around script or newer tools like Ruby, Rust, Python. A lot of development focuses on front-end tools like NodeJS/JavaScript/Typescript.

.NET/C#/F#/VB are old. 20 years for C# and VB. And they weren't friendly on non-Windows platforms until recently (last five years or so).

Microsoft procured the open source version of .NET (Mono) and decided to push the platform to a unified, cross-platform deployment. That started with .NET Core and has evolved to .NET 6.

So you're coming to .NET awareness exactly when it's at its most effective cross-platform capabilities.

And AWS and Azure both let you build C# functions/lambdas for serverless API's, so it has market appeal.

I'm building my startup, Mach9Poker, in C# and the debugging/unit testing are top notch. The language C# is easy enough. It's the libraries you have to really learn and there is a "way" to Microsoft things that's different. But there are also massive helpers in IO, list management (Linq is one of the greatest technologies ever created), generics, lambdas, and more.

Re: .NET 6 Released

#266
post #50
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?

>, 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? It's leftover industry bias because of Microsoft's long history of a proprietary tech stack that costs money to use. Today's Microsoft of promoting open source VSCode doesn't really undo the mindshare they lost in the 1990s and 2000s when the internet got big. I wrote previous comme…

A part of this is that MySQL can have read only scale-out replicas for zero additional licensing cost. You pay only for the hardware.

In Microsoft Land, the SQL Server team considers this an Enterprise feature, which basically translates to: "We added a couple of zeros to the price".

THIS, I feel, more than anything, meant that the Microsoft stack was just a dead end for many startups. The licensing cost for the database alone exceeded their revenue.

This was already crazy back then, but since then Microsoft has doubled down and increased SQL Server licensing. It is eyewateringly expensive now, and even their Enterprise customers are slowly starting to switch away from it.

They're slowly but surely turning SQL Server into Oracle.

Re: .NET 6 Released

#267

Earlier quoted context omitted.

The .NET people were likely right in your case. In C# structs are allocated on the stack, that's why you'd use them. Unless you have a specific reason you'd generally keep pure data objects as classes and not structs. And there can certainly be a culture clash, there is a bit of a tendency towards more complex patterns in the .NET world. But you don't have to do that, and MS is quite explicitly adding versions with l…

Just re-read C# documentation and remembered the situation more clearly. Basically, I consciously researched the differences between class and struct in C# beforehand. And decided to use struct as the 'thing' was a kind of a coordinate that would be instantiated a lot for simple coordinate-space transformations, so it made sense for it to actually be a value type. I should've been more assertive about it. Well, worst…

That's different, and in that case a struct is preferred.

Don't confuse inexperience with culture.

I'm from a mostly-.NET background I argue with typical .NET developers all the time.

I also argue with Java developers, and C++ developers, and...

Re: .NET 6 Released

#268
post #216

Earlier quoted context omitted.

> In any case, the performance results were really outstanding (particularly vs Mono) Interesting. Do you have measurement results? According to my measurements the difference is not that big, see https://www.quora.com/Is-the-Mono-CLR-really-slower-than-Cor... , especially the section Update September 15th.

Yes. Back to back runs were performed on identical hardware. The results varied depending on input but .net core universally outperformed mono 6.8 on Linux - in one case by 35%. This is quite encouraging since quite a bit of time (again depending on input) is spent in native code (where .NET is essentially idle).

Interesting, thanks. According to my measurements based on the Are-we-fast-yet suite the biggest difference is between Mono 5.2 and CoreCLR 5.0 on x64; about 28% speed-up from Mono to CoreCLR. The spread is smaller on x86 (about 18%). This speed-up is good but not the most impressive one I've ever seen.

Re: .NET 6 Released

#269
post #197

Earlier quoted context omitted.

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.

Saying that outcry was about one tiny decision is like saying WW1 was because an Archduke got assassinated. Microsoft's handling of .NET 's OSS community has been haphazard at best. Just a week or two prior to the 'dotnet watch' debacle, there were issues and concerns with the .NET Foundation that led to the Executive Director stepping down [0]. I bring this up, because in many cases the perception is that there is -…

[deleted]

Re: .NET 6 Released

#270
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

This, combined with linker stripping below even assembly level for smaller static binaries.

.NET 7 will work on NativeAOT for instantaneous startup of especially smaller apps, but I think they’ve already optimized JIT warmups or something — I was pleasantly surprised when I just wrote a .NET 6 console app that read JSON from a server.

Post reply on HN