Welcome to .NET 6. Today’s release is the result of just over a year’s worth of effort by the .NET Team and community. C# 10 and F# 6 deliver language improvements that make your code simpler and better. There are massive gains in performance, which we’ve seen dropping the cost of hosting cloud services at Microsoft. .NET 6 is the first release that natively supports Apple Silicon (Arm64) and has also been improved for Windows Arm64. We built a new dynamic profile-guided optimization (PGO) system that delivers deep optimizations that are only possible at runtime. Cloud diagnostics have been improved with dotnet monitor and OpenTelemetry. WebAssembly support is more capable and performant. New APIs have been added, for HTTP/3, processing JSON, mathematics, and directly manipulating memory. .NET 6 will be supported for three years. Developers have already started upgrading applications to .NET 6 and we’ve heard great early results in production. .NET 6 is ready for your app.
It’s available on Linux, Windows, and macOS.
Abstract early. Abstract often.
.NET, C# and F#are impressively well done. Kudos to Microsoft.
I find it great that they support Linux, MacOSX and Windows 7. both with SDK and runtime binaries and on arm64 and amd64 as well as good ol’ x86.
I know some of the devs want telemetry, but it is hardly a selling point for users, but what do i know. Perhaps usage stats helps improve the code written, for all i know any data can be used for just about any purpose if you collect enough of it.
Why would users care which .NET version something is made with in the first place?
Telemetry is not for usage stats, although it can probably cover that too. With modern distributed microservice architectures where code runs in visible or invisible (serverless) containers, you need metrics and cross service traces to help debug issues and monitor metrics as part of your health checks, and this is where OpenTelemetry comes in.
Most of the new bits are really mostly interesting for server side and cloud development.
Under GDPR and other similar law (as well as human rights law) there are the issues of data only being used for its specified purpose. It’s not a data grab where you just handwave “cloud systems” or “trust us” as your data is repurposed for commercial reasons or sold off behind your back. My view is if anyone wants my data they have to justify it in full.
Under UK law “variation of contract” is a thing. It is actually unlawful for a company to unreasonably block inquiries or discussion about “variation of contract”. What does this mean? Well, it means if you look at the contract and spot anything being tilted in their favour without good reason or anything you believe to be unlawful then this is something on the agenda including striking out anything you don’t like.
While telemetry is useful in theory Microsoft are not slow when it comes to pushing their interests or national interests and making it all sound inevitable and wrapping it all up in marketing. Being nosy isn’t a reason…
I’ll also add that companies (i.e.Amazon) have been known to be nosey so they can monetize this into commercial advantage. My view is my systems are my systems and you can butt out and take your telemetry with you.
What on earth are you rambling about.
I will give you the benefit of the doubt and just assume that you are completely clueless. This is neither about harvesting your data or selling it.
If i was in a situation where i would be collecting telemetry data on your actions, you would already be in a situation where you have consented to your data being processed and have given me said data to process.
If you actually knew anything about the GDPR, you would know that it is a lot more complicated and nuanced than how you put it. The point is moot anyway as the telemetry data is not magically sold or gifted to 3rd parties – why would it be, the clean data is easier to sell if we were into that kind of thing.
I would like to see you go write complicated distributed systems and NOT use tracing or some self implemented logging that tries to do the same. Good luck
@troels
If you’re going to begin insulting people to put on show for the gallery maybe you are the one not paying attention?
As for lecturing me on GDPR you know where the door is. You’re not the only reader on this forum nor operating in the only jurisdiction nor the only person with subtle technical-legal issues and I have my doubts whether you have read it as you have never to the best of my knowledge indicated you have directly or indirectly.
I suggest when you are sulking in your hole you reconsider what you mean by distributed systems and telemetry and learn to express yourself and differentiate better and re-read what was written. Also you claim to obtain consent. No. You just made a claim but didn’t explain the consent and provided no proof you would adhere to this consent or take measures to secure data responsibly. You don’t even divulge what jurisdictions you operate within which is a safe harbour issue in itself. So no you haven’t obtained consent to my satisfaction.
As for matey he doesn’t seem to have heard of test data and simulations nor the fact that come clients are extremely sensitive to third parties getting a look in on their systems or even indirect telemetry being obtained hence my referring to human rights and variation of contract but there is other law too. Something makes me think you’re not going to be a supplier for those clients.
As I have commented before discussing law with none lawyers is problematic. They think it’s easy. It’s not.
And again just for clarity anyone who raises their voice at me or takes a tone knows where the door is.
@hollyb
Yes, i might have copied your confrontational style, but i think you might need a mirror.
You can doubt all you like, i will sleep just fine at night no matter if you believe what i am saying or not. It is funny you want others to argue their merits while you just ramble on yourself.
Oh really? You mean, i did not actually present you, a random anonymous person on the internet, with a real consent form and a copy of the information security policies? Nor did i show you any data processing agreement, audit report or application security and architecture descriptions? Sorry, i actually need to follow the information security policy… Even if you think it does not exist.
You say while you were the one starting to ramble about legal stuff while clearly not being a lawyer. But don’t worry, when i need legal advice i ask… surprise… a lawyer.
That’s cute.
@troel
I’m not going to bother replying to cut and paste whataboutery. There’s a few of you on here itching for trouble and reading Jav parade in Alfman’s face for half an entire comments section was bad enough.
As for law I’m offering no more than comment not legal commentary (which is a different thing) as discussion (not debate which is a different thing) and you would be surprised what outcomes of discussions you are not privy to are. In fact I got the comment that “discussing law with none lawyers is difficult because everyone things it is easy” off a lawyer who is also a law lecturer who I was discussing a case with recently. In fact all the points Alfman made to Jav apply equally here.
When was the last time you actually read statute or statutory guidance or case law or discussed points of law or had lawyers telling you your interpretation was correct? When was the last time you heard a lawyer tell you that you knew more about an aspect of law than they did? When was the last time you got the law changed? I’m not saying that to impress anyone because it’s nobody’s business but I do know which way is forward and when it comes to taking a case forward I’m not so dumb I don’t hire a lawyer to do it (and not necessarily the first one I stumble across either) and not so dumb I don’t let them do what they are good at.
I also would not be so thin skinned in future as you’re not necessarily the audience. I write comments knowing other people read them. Not everyone knows about variation of contract or any of the other points I may have mentioned today or in the past. (Hands up who did and no lying.) When it comes to civil rights or doing the right thing for their customers or avoiding embarrassing their boss it may be something they would be grateful knowing. And if you don’t like that you know where the door is.
Troels,
We all need to be less confrontational. There can’t be a civil discussion when we don’t treat people with respect and understanding as I’m all too familiar with, haha. It’s hard to stay polite with someone who’s being rude. Being nice makes everything better, I don’t know how to change the culture though.
Well, HollyB does have a point though. Part of the problem is that most data is collected without a consent form, at least not one that most people would consider clear & legitimate. They’re normally hidden very deliberately in TOS using vague terminology with implied consent, but I think that the vast majority of consumers information is being used & processed without ever having obtained explicit consent or offered way to opt out in a reasonable way – at least not prior to the GDPR.
Even if we argue people should read TOS, actually doing that and comprehending it is a full time job that could cost humanity billions of collective hours per year, at the end of which it wouldn’t change anything. We’re forced to agree in order to get service we need for our every day lives. Someone can disagree with microsoft/apple/google/ISP/bank/mobile company/etc, but for better or worse it doesn’t mean they aren’t dependent on them for work/school/life/etc.
https://www.theguardian.com/technology/2015/jun/15/i-read-all-the-small-print-on-the-internet
@HollyB – it feels like you are talking about something unrelated to the OP. I think you missed the difference between operational telemetry and user telemetry. The latter needs to comply with local laws on collecting personal data, the former is about gathering data on how a service is running and alerting sysadmins/developers/support personnel about issues in the service. So the first one is about the Twitter Fail Whale, the second is about Twitter selling your data to a third party advertiser. Completely different and your further rants seem to confirm you didn’t understand the initial point. Sigh.
@henderson OP posted an unclear specification. That’s his problem and one he had an opportunity to correct and didn’t. In any case what I wrote on the substantive issue of people’s rights has not been challenged for correctness. Slurs and sighs don’t count and tbh I’m not interested in some random no-name arriving days later to pour petrol on the flames when the world has moved on.
It’s funny how things converge, java has implemented precompilation (in GraalVM) at more or less the same time net as MS adds JIT support to .NET.
MS is trying (apparently successfully) to outdo Google in their own idea (GWT) that they’ve dropped in the towel with Blazor.
What??
.NET has been JITted from day one . . .
.NET Native was released with VS2015 – four years before GraalVM was released.
Not sure how you are comparing GWT and Blazor???
Blazor is .NET compiled to webassembly against the DOM.
I don’t see how that relates to GWT at all – GWT is just another framework that generates javascript as it’s target?
Ok I haven’t been clear enough, I meant hot spot jit (in Java parlance), whereas GraalVM implemented something akin to GAC precompilation that was part of net since long time.
As for GWT and Blazor they exploit the same idea: making BE frameworks and languages (partially) executable on the browser, just approach it differently.
I guess the later used late mover advantage as web asm wasn’t an option when GWT was developed.
.Net was doing the equivalent of Hotspot from almost day one. What’s new here is profile-guided JIT, which is an entirely different beast.
JAVA, Google’s scripting engines, and .NET all have their pluses and minuses. Like you observe .NET has been a little slow in developing some aspects of VM technology.
Technical issues aside I can’t helping thinking of these products in terms of monopolies and marketing and lock-in.
I think the .Net VM does all the JIT and suchlike in a very similar way to Java. The fact is, if it didn’t the performance would be terrible. The thing .Net has also had for years is the preJIT, but also .Net has had AOT native compilation technology for quite a long time. The Native stuff is newer, but that is an extension to the AOT compilation.
.Net is hardly a monopoly, nor closed product anymore. So anyone implying that it is, I feel is out of touch or probably has their own agenda.
Before .Net Native there were TowerJ, Excelsior Jet and even gcj.
Before all of that was Visual J++, Asymetric SuperCede and Visual Café – all did native compilation. Guess what Visual J++ became? (hint: C#, indirectly, but the tech stack is basically the same under the hood.)
I was thinking we all needed another required version of .Net on our desktops. New versions of Windows will ship with a small ssd dedicated to .Net installs.
It is worth mentioning that, unlike .NET Full Framework, .NET 5+ will does not ship with Windows. .NET 6 is not “another required version of .Net on [your] desktops”, Windows has no more reasons to ship a small ssd dedicated to current or future .NET versions than MacOS or Linux do.
If you do not install any given .NET version and no apps you rely on use it then it will not take any space on your drive. As it gets replaced by newer versions, the same rules mean that it does not need to be installed and does not need to be kept around.
The old .NET Framework stuff will continue to ship with Windows though and I am sure we will all be forced to download updates for it many, many times in the years to come whether we are using it or not.
Don’t forget: .NET != .NET
Hahaha, funny comment for anyone who’s dealt with needing to install multiple .NET framework versions in the past. Nowadays with single-file bundles it seems you will have the added “benefit” of getting one install of .NET per app!
Maybe – but to be fair, you only end up with the parts you need, and you can link those in to the exe to reduce the overall size.
How is Banshee on desktop Linux distros these days? That’s the only .NET/Mono-based GUI Linux app I can think of. Been using Windows 10 lately. Bad certified Linux admin, bad!
I do not think .NET / Mono as a platform for Linux desktop development has gone well. This is somewhat ironic as Mono was originally conceived by Ximian as a way to accelerate their Linux desktop development. Mono is of course not only a hugely successful as a project but now a fully supported ( by Microsoft ) component of .NET 6 and beyond. Most of the Ximian guys ( including Miguel ) went to Novell where Mono became more server focused and then when Novell dropped Mono, most of the team ( again, including Miguel ) went on to form Xamarin where Mono was all about mobile apps ( iOS and Android ). That is really where the focus has stayed and now that Xamarin is owned by Microsoft I doubt it will change. Miguel himself seemed to move on from Linux to the Mac as a preferred desktop platform.
Mono based desktop applications started strong. There were a whole bunch of them in quite a short period and they were mostly great for the time. Things like Banshee, F-Spot, Beagle, and Tomboy come to mind. There were also proprietary instances like Plastic SCM and Resco. Maybe the best example of a .NET based desktop application was the MonoDevelop IDE by Xamarin themselves.
MonoDevelop is sadly pretty much abandonware now. It became Xamarin Studio which used to contribute back to MonoDevelop but then Xamarin Studio became Visual Studio for Mac and Microsoft has not kept the open source code base alive. Although there is the attempted DotDevelop revival, MonoDevelop has been dead since early 2020.
Actually, 2020 seems to be when Mono / Gtk# desktop apps died in general. Banshee’s last release was in March 2020. I still see that it is available to install in the Manjaro release I am typing this on but I am not sure who uses it anymore. Tomboy moved to C++. I have not thought about Beagle in forever.
Honestly though, I feel like this is less about .NET / Mono and kind of just the Linux desktop in general. Before Mono, Ximian had a vision of a whole Linux desktop universe with Gnumeric, Abiword, Evolution, and others. I know those are still around but it feels like they all got dropped with the appearance of OpenOffice / LibreOffice. In general, it feels like Linux mostly sports cross-platform apps these days more than it has really great desktop apps on its own. Perhaps I am being a bit unfair but it just does not seem anything like the enthusiastic, optimistic desktop innovation spike that existed when Banshee first came out.
I mean, the Linux desktop is more viable than ever. I am after-all typing this in Manjaro and at work where everybody else uses Windows. I have Slack open, just had a Zoom meeting in Microsoft Edge for Linux of all things, and will be jumping into a Microsoft Teams meeting in a few minutes. My work calendar and email are open in Firefox. I do use LibreOffice a fair bit but honestly I am starting to use Office 365 almost as much. I also wrote a toy compiler on this machine recently ( for fun ) using JetBrains Rider as the IDE. I read books to my kids from this laptop every night using Calibre. I even play a few Steam games on this machine from time to time ( using Proton so that I can download the ones that say they are Windows only ). What strikes me though is that while I can do basically anything I want to on this Linux machine, basically NONE of the applications I just listed are really Linux applications ( I mean they are Linux native but they were not written for the “Linux Desktop” — like Banshee was ). Maybe the only really Linux desktop application I use regularly is the GIMP and even that is used more on other operating systems these days I bet. I use Handbrake a fair bit ( where is it “native”? ). Of course, I use a lot of native utilities. I have Gnome Activity Monitor open. I use the calculator, text editor, and image viewer native to Cinnamon. To run virtual machines, I have started to use QEMU / KVM more often than VirtualBox but I still use VirtualBox too.
I guess the fact that I mostly just use the Linux desktop without thinking much about the ideology and “the movement” like I used to is a sign of progress in a way. At the same time, I think the question, “how is Banshee on desktop Linux” kind of highlights that the “desktop Linux” that Banshee was a part of has really died on the vine and, sadly, so has Banshee along with it.
It is all a little sad really as the tools to create .NET desktop applications are better than ever and are better in many ways than competing options. There is still Gtk# of course and QML.Net too. Windows Forms on Mono actually works. There is also UNO, AvaloniaUI, ReactiveUI, Blazor, and probably MAUI soon ( I know Linux is not an official Microsoft target at the moment ). Visual Studio Code and JetBrains Rider are great dev environments–better by far than anything that existed when Banshee first appeared. Also, regardless of where you fell on the legality of Mono back in the day we now have Microsoft themselves backing Mono and we have Linux as an officially supported environment in .NET 6 ( and earlier ) which is completely Open Source.
Thanks for the very detailed reply!