35 ms·
.NET 6 Released
- kreeben 5y ago>> ASP.NET Core in .NET 6. I've been on .net since 1.1 and .net Core since 1.0 and this statement makes me so confused. Core lives _inside_ of .net 6? Is there a non-core ASP.NET that also lives inside that framework? I thought .net 5 was where the legacy 4.x branch and core 3.1 was married in holy matrimony, minus the worst of the legacy garbage.
- tonicbbleking 5y agoNaming it ASP.NET 5 would clash with .NET Framework ASP.NET 5 MVC, hence the ASP.NET Core 5 name.
- olyjohn 5y agoAnd a bunch of people probably had a bunch of meetings and sat around and thought "Yes, this is what we will name it!" FFS!
- metaltyphoon 5y agoI see all 'Core' names being dropped with the release of .NET 7. So it would be .NET 7, ASP.NET 7 , EF7
- cptskippy 5y agoI look forward to the announcements of Office Core and Windows Core.
- recursive 5y agohttps://docs.microsoft.com/en-us/windows-server/administration/server-core/what-is-server-core https://docs.microsoft.com/en-us/windows-server/administrati...
- tonyedgecombe 5y agoReminds me of this: https://www.itprotoday.com/net/windows-net-server-first-look https://www.itprotoday.com/net/windows-net-server-first-look
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- DaiPlusPlus 5y agoOblig: https://stackoverflow.com/questions/51390971/im-lost-what-happened-to-asp-net-mvc-5/51391202#51391202 https://stackoverflow.com/questions/51390971/im-lost-what-ha...
- kingcharles 5y agoWow, I take it you are the author of that post. That is incredible. You need some sort of presidential medal for that.
- SigmundA 5y agoSo no excuse for .Net 6 since there was no ASP MVC 6 right?
- WorldMaker 5y agoThere was. ASP.NET MVC 6 and EF6 were the last versions for .NET Framework 4.x. Hopefully with .NET 7 next year and all the versions aligned they will drop the "Core" name for just ASP.NET 7 and EF7.
- orthoxerox 5y agoAnd someone will finally cross out that Jira (er, Azure DevOps) task on their list. "Harmonize branding and version numbers across all major .Net technology offerings", only took them ten years or so.
- SigmundA 5y agoAsp Mvc 6 was never released, it basically became MVC Core 1.
- GiorgioG 5y agoI think "ASP.NET" would imply the legacy web framework, so they had to keep the "ASP.NET Core" name. Not unlike EntityFramework & Entity Framework Core.
- deleted 5y ago[deleted]
- DavidKarlas 5y ago.NET is sane now... .NET 5, .NET 6, .NET 7... all cool, no more confusion going forward... .NET Framework(full Windows only Framework) is .NET Framework 4.x, stuck there forever only security patches... Only remaining confusing part left in ecosystem is "ASP.NET Core", because even though .NET got rid of Core, latest version ASP.NET didn't
- jaywalk 5y agoWell, part of the problem with the naming for ASP.NET is that the .NET Framework version (WebForms) was simply called ASP.NET, so they couldn't just drop the "Core" like they did with .NET itself.
- JasonCannon 5y agoASP.NET isn't only WebForms. It also covers the Razor engine as well as their WebAPI (API only).
- merb 5y agobtw. webforms is dead. thank god.
- vyrotek 5y agoAnd Entity Framework Core unfortunately because EF6 was already a thing.
- WorldMaker 5y agoYeah, 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.
- foepys 5y agoSearching the internet for help is going to be a nightmare, though.
- phillipcarter 5y ago> Core lives _inside_ of .net 6? Is there a non-core ASP.NET that also lives inside that framework? Yep! > I thought .net 5 was where the legacy 4.x branch and core 3.1 was married in holy matrimony, minus the worst of the legacy garbage. .NET 5 was the next evolution of .NET Core. There was no great merging of legacy .NET Framework into the .NET Core branch or something like that. It saw a bunch of foundational stuff land in so that .NET could support modern client apps from Xamarin and further support the modern versions of WinForms and WPF. If that sounds confusing, it kind of is. But it's a clear branding effort - .NET is not a choice between the "slim .NET Core" and the "big .NET Framework. It is either .NET or the legacy stuff (still called The .NET Framework).
- dschuessler 5y agoMicrosoft branding is terrible. My only point of contact with it is Visual Studio Code which is different from Visual Studio which is different from Visual Studio for Mac. There was a brief period of time after I recognized that .NET really works on all platforms without proprietary stuff and before the `dotnet watch` desaster in which I was at least curious about .NET. But even then I never fully figured out how .NET, .NET Core, ASP.NET, .NET Framework, .NET MAUI and the kitchen sink relate to each other. If the purpose of branding is to make something recognizable, Microsoft consistently fails across the board with me.
- phillipcarter 5y agoWe used to have a saying on the team when I worked there: "Nobody can name things like we can't!" (followed by cry-sobbing) The more serious response to this is: For better or for worse, The .NET Framework (which is now squarely legacy tech) has stuck around and been reliable. People have had their trust in it validated. For two decades now, if you're a CTO at some big enterprise, you know that .NET Framework will get the job done for much of your development needs. From a Microsoft branding perspective, this is amazing. But it's got all kinds of problems can't be fixed unless you break everyone. Uh-oh! This is the biggest reason why branding and naming has been so complicated pver the years. And it's even come with little sub-problems, like the fact that the version number for one "flavor" of .NET would match up with the version number for another "flavor" of .NET and so now you're screwed no matter which decision you pick. A cleaner approach would be to throw it all away and do a complete rebrand (we had a little proposal to call it "Concert" where C# and F# could be played in harmony with each other, how cute) but with that you throw away the brand of one of the most successful pieces of technology ever produced by the company. Not exactly a winning proposal. The other factor here is that with .NET there is so much software involved. It's three entire programming languages, a runtime, a huge standard library, a web framework, a database access and management framework, a machine learning framework, several Windows app frameworks, a mobile framework, IDE tooling, command-line tooling, and a bunch of other stuff too. .NET is far larger than many other competing stacks in terms of what a single vendor produces. Since Microsoft produces so much software for .NET and aligns their releases, they also message each one, and with that there's a big sea of stuff to keep track of. I don't know if I have an answer for how to handle the complexity of it all. A lot of folks I know in the F# community only keep track the F# language and IDE tooling updates, then dive into specific stuff only when they care about it (e.g., doing web programming? check out the ASP.NET release notes). But that may not be an option if you're a decision-maker at a company.
- cl0ckt0wer 5y agothe old "framework" versions are in maintenance mode. That is the OG aps.net and framework. it's currently at 4.8 and will probably stay there forever. This includes the OG versions of things like ASP.NET and Entity Framework. The open source multi platform rewrite, originally named core, now named "", is going to be the active platform going forward. There are several core rewrites of the popular modules that will be the ones that are actively developed going forward. We can either stay on 4.8 forever, or migrate to the "" which is where all the new and exciting things are being developed. MS has promised they will support 4.8 for the foreseeable future, for what it's worth. Here's a video explainer: https://youtu.be/4olO9UjRiww https://youtu.be/4olO9UjRiww
- na85 5y agoMicrosoft is easily the worst at naming things. At this point I've given up hope at grokking the various names within/peripheral to dotnet.
- beauzero 5y agoLooks like .NET Framework has had it's life extended as well. It is scheduled to be installed on Windows 11 and Server 2022 which gives the 10 year native to OS support. https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies https://docs.microsoft.com/en-us/dotnet/framework/migration-...
- goto11 5y agoThe naming really is confusing. "Core" was the keyword for several semi-independent projects. There is .Net Core, which was a rewrite of the .Net runtime to make it platform independent. Then there is ASP.Net Core is which is a rewrite of the ASP.Net web stack. Despite the name, this was not initially dependent on .Net Core platform, it could run on both .Net Framework and .Net Core. ASP.Net Core is the only web framework running on .Net Core though, the old ASP.Net framework is not ported to .Net Core. So to answer your question, no, there is not a non-core asp.net running on the .Net Core platform. Then there is EF Core which was a rewrite of Entity Framework. Again, this was not initially dependent on .Net Core, although later versions is. Basically "Core" just means "new backwards-incompatible rewrite".
- mbesto 5y agoWelcome to .NET :) It requires a PhD to understand versioning at this point.
- 0xfeeddeadbeef 5y agoHistorically — yes, ASP.NET Core 1 and 2 had the ability to live _inside_ both .NET Framework and .NET Core.
- DeathArrow 5y ago.NET 6 was released but MAUI was pushed for next year and I still haven't heard anything about AOT which was delayed a few times and was supposed to come WITH .NET 6.
- eddhead 5y agoThey promised Blazor AoT and its here, with. NET6. Maui is just a refresh of Xamarin Forms so that can wait.
- DeathArrow 5y agoI've been talking about native AoT.
- bajsejohannes 5y agoUnlike all the preview builds this actually crashed on `dotnet run` after upgrading. Luckily a `dotnet clean` fixes it. Good to finally have an official version!
- lbriner 5y agoI would personally prefer you to fix the multitude of things that don't work well in Visual Studio and library issues that are continually pushed back as "won't fix" or "upgrade to .Net5/6" as opposed to always racing forwards to the horizon. Even those of us who are actively migrating applications are stuck with web forms, netfx and dotnet core 2/3 and will be for years, so it would be nice that we felt some love rather than being left behind. MS are starting to feel like Apple where you only have value if you can keep up.
- GiorgioG 5y agoNobody gets promoted for fixing bugs.
- lloydatkinson 5y ago> Even those of us who are actively migrating applications are stuck with web forms, netfx and dotnet core 2/3 and will be for years Well, the job market is pretty hot right now so I hear.
- sedatk 5y agoIt's not perfect but MS has been investing in a scheme to make upgrades as easy as possible for the last five years, .NET Standard being the prime example. This way, we've been able to migrate our project progressively while keeping it up to date. We've been able to use .NET Core versions of libraries as long as they support .NET Standard 2.0. This is way better than "migrate fully or die".
- symlinkk 5y agoWhy can’t you upgrade to the latest version? Sounds like tech debt. And Visual Studio is almost dead, why aren’t you on Visual Studio Code?
- Smaug123 5y ago… huh? Visual Studio is extremely not dead, they are literally about to release a 64-bit version after a massive rework. VS Code is a text editor which you can extend into being an IDE. Visual Studio is an IDE. There are many reasons why one might be unable to upgrade to the latest version of any given thing. For an example close to my heart of why one might be unable to upgrade to .NET 6 (or indeed to later versions of the .NET 5 SDK), there's the showstopping https://github.com/NuGet/Home/issues/10389 https://github.com/NuGet/Home/issues/10389.
- gmueckl 5y ago.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.
- ognarb 5y agoNote that Maui is the name used by an older ui toolkit https://mauikit.org/ https://mauikit.org/ and you probably should refer the one by Microsoft to .Net MAUI to avoid confusion.
- slownews45 5y agoReplace ".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 "styling" your app and all the rest of the garbage. How many lost years and peoplehours?
- FpUser 5y ago>"They chased EVERY fad that could be chased. Silverlight, UPF, XAML, WPF, Islands, MAUI" Being a wise man I spared myself from this madness long time ago;) When I need Windows Desktop App I use Delphi or lately Lazarus that can do both Windows and Linux GUI from a single source and produce native standalone executables.
- int_19h 5y agoWinForms is still around, and works as well as it always did. That or WPF are still the sanest choices for desktop apps in .NET, IMO, so long as you're only targeting Windows. And WinForms specifically resembles VCL a lot.
- gmaster1440 5y agoMAUI was the big release I was looking forward to most with .NET 6, appears to be postponed.
- hbcondo714 5y ago> .NET MAUI will be released a little later than .NET 6 I wonder when, that could mean 2022
- T-A 5y ago"We are now targeting early Q2 of 2022 for .NET MAUI GA." https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/ https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/
- spaetzleesser 5y agoNo worries. There will be a shiny new successor to MAUI soon and MAUI will be all forgotten.
- WorldMaker 5y agoA lot of MAUI components are in .NET 6 they are just still marked Experimental/Preview to give everything more time to bake. If you want to start with MAUI in .NET 6 it sounds like it is as good a time to start as any. The impression given is that MAUI is retaining the Experiment/Preview designation in .NET 6 not because it isn't "ready" (though that can be argued both ways), but most specifically because .NET 6 is an LTS with three years of support and MAUI is still moving fast enough they aren't ready to commit it to LTS support.
- manomanomano 5y agoJava 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!
- tonicbbleking 5y agoLearn .NET is a great place to start: https://dotnet.microsoft.com/learn https://dotnet.microsoft.com/learn
- griffiths 5y agoThe official resources and documentation are pretty good. https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0 https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcor...
- smt88 5y agoI learned C#/.NET by jumping into an existing project, so I can't answer your question directly. I can, however, recommend you use Rider as your IDE. It includes JetBrains' excellent ReSharper code analysis tool, which actually corrects a lot of your generic OO code and will automatically rewrite it for you to be more idiomatic (avoiding memory and performance issues, for example). Rider knows the sharp edges so you can mostly forget about them. Otherwise it should be very easy for you to pick up. .NET has some annoying code organization conventions (lots of subprojects, too many folders, etc.) but you can just structure your project however makes sense for you and avoid all of that.
- jongalloway2 5y agoFor high level, you can start at https://dotnet.microsoft.com/ https://dotnet.microsoft.com/ which has links to learning resources for different topics. There's also a 40 page e-book ".NET for Java developers" here: https://aka.ms/dotnet-forjavadevs https://aka.ms/dotnet-forjavadevs
- manomanomano 5y agoThanks a lot for the suggestions!
- runevault 5y agoBeen 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 generated with Rider are fine...
- vyrotek 5y agoI'd love to give Rider a try but I need SQL Projects. VSCode and DataStudio both have support for it now so I'm hoping they figure out how to bring it into Rider as well.
- kiklion 5y agoCompare the generated project file between the two. I noticed for a time that some projects created in rider had a different project type than those created in VS which caused some issues at my company. Was a simple change to the proj file though.
- wsc981 5y agoI've been using Rider for a couple of months now for Xamarin projects, as Visual Studio was for unknown reasons unbearable slow on my iMac - it totally destroyed my workflow and productivity. Rider is not perfect, but in many ways miles above Visual Studio. As Rider doesn't have any Forms editor build-in (AFAIK), I am slowly switching most of my views to fully code, so I don't need to rely on Visual Studio's visual layout editors anymore.
- marcocampos 5y agoIt does but only on Windows and for C# projects: https://www.jetbrains.com/help/rider/Working_with_Windows_Forms.html#editing-windows-forms https://www.jetbrains.com/help/rider/Working_with_Windows_Fo...
- GordonS 5y agoI switched from VS to Rider a few years back - it's great, and I'm so glad I made the move! Rider feels so much faster than VS, and is rock solid - these were my 2 main reasons for switching from VS.
- abdusco 5y ago> 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 everywhere. I don't have to tolerate Golang and its quirks just to have cross-compilation and static binaries, even though they will be larger in size.
- _th_a_w_111 5y agoFirst comment in this thread and it already contains unqualified bashing of other languages. Just don't do it.
- kreeben 5y ago>> Single files apps no longer extract any core runtime assemblies to temporary directories I might be ignorant here but if you're not specifically pointing out what version DLL's you want, aren't you in fact publishing a dynamically linked executable instead of a statically linked one? Doesn't these single-file apps rely on the GAC?
- sedatk 5y agoThe whole runtime gets included in the binary.
- BiteCode_dev 5y agoDoes this mean you need one binary per OS so that the runtime matches, or do they do some magic so that one single binary can run on all Oses ?
- sebastienros 5y agoYou create one binary per OS.
- 5y ago
- jekude 5y agoAs 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?
- pleb_nz 5y agoI can't answer your question directly but I can add that what I've noticed is frameworks and language seem to be very regionally orientated. I've noticed on some parts Java seems popular, other parts .net, and so on. It's quite interesting to see differences in job ads across regions globally. In my region, .net is used extensively and my friends do tend to use it for personal projects.
- jekude 5y agoI think you are correct. A couple things probably at play: 1) Region (for example, my data point is from Boston) 2) Framework language choice (https://insights.stackoverflow.com/survey/2021 https://insights.stackoverflow.com/survey/2021) 3) Ecosystem (i.e. Microsoft vs. Unix) 4) Experience level (probably) If anyone has any SF data points I am extremely curious.
- Avalaxy 5y agoDefinitely true. The netherlands for example is VERY Microsoft oriented. I come across .NET everywhere.
- int_19h 5y agoI once saw a world map annotating the dominant dev stack in different regions, and yes, it's absolutely a thing.
- solarkraft 5y agoHistory. Microsoft technology used to suck terribly for small-time developers. It was always popular in the “enterprise” (which also brings with it some extra architectural baggage), but if you wanted to ship an app with it to consumers you basically couldn’t ... until Xamarin, Mono and dotnet core.
- SloopJon 5y ago> Supported for three years as the latest long term support (LTS) release. This is the first thing I look for in these announcements. .NET 6 is the successor to .NET Core 3.1.
- ziml77 5y agoI've been waiting for .NET 6 for the past year for the long term support. As much as I wanted to use .NET 5, I figured it would be best to only use LTS releases in production.
- AtNightWeCode 5y agoI never run anything else than LTS in production. The in-between versions have basically been beta quality since .NET 1-preview.
- metaltyphoon 5y agoCrazy how bing.com seem to not care for "beta" software :D
- throwaway_85202 5y agoBing.com developers are "first-party customers", they can raise issues internally, and these issues are prioritized
- Semaphor 5y agoThey literally don’t. They run actual preview versions in production to give the .NET team a chance to test new releases in high-traffic production scenarios. Though IIRC preview is a bit past beta ;)
- metaltyphoon 5y agoRight… So if such a massive site uses it whats the excuse for the next CRUD app?
- kbd 5y agoIs there any reason I should care about .NET today if I'm not already in the ecosystem? I've done C# professionally in the past, and C# is a good language. I wish Microsoft focused on open source and wider industry adoption for C#/.NET sooner so that it could have taken some share from Java. Now .NET is finally open source but Microsoft is a bad steward of the open source ecosystem for .NET, and I certainly wouldn't feel comfortable to say to my team "let's do this next project in C#". I don't see any particular reason to make my own tools in C# vs anything else. So without already being in an existing Windows-based Microsoft shop, is there any reason I should be interested in .NET today?
- DeathArrow 5y ago> I don't see any particular reason to make my own tools in C# vs anything else. I can tell you why the company I work for uses C# to develop microservice based products: -cross platform -tons of libraries -integration with most of the things we need -great speed -good productivity -great tools We can iterate fast, have performance. Also, C#/.NET is good for other purposes such as mobile apps, frontend, writing glue code, and even desktop if the need arises.
- xupybd 5y agoF# is the reason I'm investing in .Net. So far it's been an amazing developer experience. For internal admin tools I can throw together a windows form app in C# much quicker than any other system I've worked with. I'm pretty new to the eco system so to it's amazing how fast you can get up to speed.
- wvenable 5y agoOutside of a few very small stumbles, I don't think that Microsoft is a bad steward of open source .NET. Especially if you use Java as the alternative example where there were decades of Sun/Oracle shenanigans around open source Java. Microsoft has done an amazing amount of work writing and rewriting code to make cross platform open source .NET a real thing. All open licensed and developed in the open.
- kbd 5y ago
- wcoenen 5y agoIs it possible to load ".NET Framework" assemblies into ".NET 6" applications? (We have a lot of .NET Framework libraries, shared between different applications, and a complex dependency graph between them. So I'm wondering if it is possible to migrate away from .NET Framework by starting with the executables and working our way down the dependency graph.)
- my123 5y agoNo, you can however have .NET Standard assemblies that can load into both .NET (Core) and .NET (old) applications. Those use a common API subset, and are a stopgap to make migration easier.
- geewee 5y agoYes if you can migrate them to .netstandard2.0 you can run them on both .net framework and the newer core/.net5/6 releases. I've just done this exact migration path myself for a legacy application
- MaXtreeM 5y agoOthers have said no, but I think you can. The ".NET Framework compatibility mode"[0][1] was introduced in netcore2.0 (which actually is now quite a long ago, geez), which means that if your libraries don't use some windows-specific APIs/functionality, like WPF, there is a big chance that you can use them just as they are. I have never used my own .NET framework library like that but I think have used some 3rd party library targeting .NET framework in production. [0]: https://docs.microsoft.com/en-us/dotnet/core/porting/third-party-deps#net-framework-compatibility-mode https://docs.microsoft.com/en-us/dotnet/core/porting/third-p... [1]: https://docs.microsoft.com/en-us/dotnet/core/porting/#net-framework-compatibility-mode https://docs.microsoft.com/en-us/dotnet/core/porting/#net-fr...
- koyote 5y agoYes you can, you simply add them as project references. We have done this in production and it works quite well. You have to be careful though because you could get runtime crashes if they try to access stuff that is not supported in .NET 6 (mostly Windows-specific libraries). I'd recommend running this guy on the code base, it'll give you a good idea of how much a pain it will be: https://docs.microsoft.com/en-us/dotnet/standard/analyzers/portability-analyzer https://docs.microsoft.com/en-us/dotnet/standard/analyzers/p...
- b8 5y agoI'm glad that Openssl 3 and more support for WASM was added. I doubt that anyone will use WASM though.
- mattferderer 5y agoWhy? WASM can be a huge productivity win.
- merb 5y agowell i hoped it would be easy to publish wasm modules that also works outside the browser. I'm not sure if that is possible tough.
- oaiey 5y agoI played around recently with Blazor (the WASM app model). It is awesome regards productivity. Just a bit heavy to load ;)
- polskibus 5y agoI wish they put more effort into round 10 version of C# . Features presented will have minimal impact on productivity and maintainability.
- int_19h 5y agoC# is already evolving fast enough that quite a few devs are uncomfortable with it. Speaking strictly for myself, I love getting new language features faster - but there's a balance to strike here for the overall good of the ecosystem. You don't want to drive out all the people who can't keep up.
- tonicbbleking 5y agoDiscriminated unions is one of those features that everyone talks about, but never gets championed. Wish C# 10 already had this feature. https://github.com/dotnet/csharplang/discussions/2962 https://github.com/dotnet/csharplang/discussions/2962
- throw868788 5y agoMaybe try F#? I know it isn't always an option but if you can, especially recently, its been quite productive to work in.
- keithnz 5y agoyou can actually do them pretty easily in C# without language support anyways. for instance, the F# example from https://fsharpforfunandprofit.com/posts/designing-for-correctness/ https://fsharpforfunandprofit.com/posts/designing-for-correc... can be done in C# like https://gist.github.com/keithn/ceeeed5f7eb567e1b2333747065d10dd https://gist.github.com/keithn/ceeeed5f7eb567e1b2333747065d1... almost similar amount of code, however, no exhaustive checking. Not that I find that to be much of a problem, but it would be nice
- Smaug123 5y agoBut who needs sum types when you have the visitor pattern :troll_face: https://blog.ploeh.dk/2018/06/25/visitor-as-a-sum-type/ https://blog.ploeh.dk/2018/06/25/visitor-as-a-sum-type/
- qwertox 5y agoFor 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 got aware of the drama which went down around two weeks ago, when Microsoft decided to remove this feature from the release, even after including it in the previews. Here is a good summary https://www.youtube.com/watch?v=L9_pzDjw9HQ https://www.youtube.com/watch?v=L9_pzDjw9HQ
- watersb 5y agoGood 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-via-cli/ https://devblogs.microsoft.com/dotnet/net-hot-reload-support...
- tompazourek 5y agoI think the Hot Reload stuff is still in its infancy. From what I read, it doesn't yet support stuff like async/await, LINQ, lambdas (and few other things). And those are used a lot in modern .NET apps. Still a great improvement in the right direction.
- schipplock 5y ago> .NET 6 is the first release that natively supports Apple Silicon (Arm64) Finally! :) I was a bit disappointed that MS didn’t want to support macOS arm64 natively with .NET 5. At the same time Microsoft invested a lot of effort in porting Java to arm64. Almost a year ago I could download Java builds for macOS arm64 from Azul (java 8-latest).
- eatonphil 5y agoIs there a mature(!) webview library for .NET so I can build cross-platform GUIs with HTML/JS/React but write the backend in C#/F# and bundle that whole thing into a single file (not a zip/something that gets extracted on run) for every platform?
- WorldMaker 5y agoWebView2: https://developer.microsoft.com/en-us/microsoft-edge/webview2/ https://developer.microsoft.com/en-us/microsoft-edge/webview... For instance, in WPF applications: https://docs.microsoft.com/en-us/microsoft-edge/webview2/get-started/wpf https://docs.microsoft.com/en-us/microsoft-edge/webview2/get...
- eatonphil 5y agoIf it is cross-platform it doesn't seem to be very mature cross-platform: https://github.com/MicrosoftEdge/WebView2Feedback/issues/645 https://github.com/MicrosoftEdge/WebView2Feedback/issues/645.
- WorldMaker 5y agoEdge on Linux itself only just exited "beta" status a couple weeks back, so yes Linux support on WebView2 is behind other platforms and still playing catch up. Hopefully should be corrected "any day now". Appreciate the link to the tracking bug.
- abdusco 5y agoHopefully with MAUI + BlazorWebview component: https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-4/#blazorwebview https://devblogs.microsoft.com/dotnet/announcing-net-maui-pr... Unless it gets rebranded again before it's usable.
- ripley12 5y agoYou may want to take a look at Chromely and its WebView2 offshoot EdgeSharp: https://github.com/chromelyapps/Chromely https://github.com/chromelyapps/Chromely https://github.com/webview2/EdgeSharp https://github.com/webview2/EdgeSharp
- deleted 5y ago[deleted]
- mmpdev 5y ago> System.Linq — DistinctBy/UnionBy/IntersectBy/ExceptBy I'm excited by having these built in. I always found it awkward to need to do: `.GroupBy(item => item.Property).Select(group => group.First())`.
- jackdh 5y agoWhole bunch of other good stuff for Linq users! https://devblogs.microsoft.com/dotnet/announcing-net-6/#system-linq-enumerable-support-for-index-and-range-parameters https://devblogs.microsoft.com/dotnet/announcing-net-6/#syst...
- Lord_Zero 5y agoI have been using https://morelinq.github.io/ https://morelinq.github.io/ for a long time for all the above and more.
- osigurdson 5y agoWe 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!
- Rochus 5y ago> 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-CoreCLR/answer/Rochus-Keller https://www.quora.com/Is-the-Mono-CLR-really-slower-than-Cor..., especially the section Update September 15th.
- osigurdson 5y agoYes. 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).
- Rochus 5y agoInteresting, 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.
- elAhmo 5y agoWould you mind sharing how long the upgrade took, did it require a lot of changes? I am wondering about jumping from relatively large codebase in .NET Core 3.1 to 6.
- robertwt7 5y ago.NET seems to be getting better every year. Really interested to learn and use it for daily basis. I just wished more startup are using it more as their tech stack to improve the ecosystem to be on par with Java. Almost every big tech companies are always using java now it's just hard to use .net when you won't get a job that doesn't suck
- dirkg 5y agoI moved from C# to the NodeJs/JS/React world a while ago, when React was fairly new as well. I like JS as a language and the enormous progress thats been made in the JS ecosystem from the wild west days back then. But I have to say my most productive and enjoyable dev experience was with VS, C#, ReSharper etc. Magical intellisense and real refactoring across millions of LOCs and multiple assemblies, all kinds of tools, visual designers, powerful 3rd party toolkits (anyone remember Infragistics), amazing docs. And of course now it'd be much better I'm sure.
- cutler 5y agoBest of all - no Gradle to deal with.
- DeathArrow 5y agoFast framework for Web, MAUI for mobile and desktop, Blazor for frontend, ML.NET for AI and ML, Unity and Godot for games, F# for functional programming. All relatively fast and easy to use. Libraries for everything and good documentation. The only thing we miss is system programming due to not being able to opt out of using the garbage colector.
- Deukhoofd 5y agoYou can get C# to run without the stdlib, and use it as a native language with some effort. Here's an example running Hello World as a C# EFI boot program: https://github.com/MichalStrehovsky/zerosharp/tree/master/efi-no-runtime https://github.com/MichalStrehovsky/zerosharp/tree/master/ef...
- xakpc 5y agothis is nice. I built a couple of side-projects and startups - all on .net. First one was on Xamarin even before it was bought by MS - the progress from that times is amazing, the last one - built fully on Blazor. I believe more startups should try to adopt .net stack - it's fast, fun and efficient and becomes better every day. Congrats .net teams on launch