Visual Studio 2022 and .NET 6 Finally Arrive
After months of previews, the time has finally arrived for the general availability of both Visual Studio 2022 and .NET 6, two major releases by Microsoft that have been a year (at least) in the making. While the two releases come with more changes than we could possibly cover here, we’ll go over some of the highlights and send you on your way with plenty of links and videos to explore all the rest.
First, let’s start out with the release of Visual Studio 2022, which is the first time that Microsoft’s IDE has gone 64-bit. Obviously, this means that Visual Studio 2022 is here to start up faster, take advantage of your souped-up hardware, and take on those large-scale projects that it would normally choke on a bit. Microsoft’s tagline for this release seems to be that “Visual Studio 2022 will help you go from idea to code faster than ever,” and this is obviously part of that.
In that same sense, while Visual Studio 2019 already had IntelliCode, Microsoft’s “AI-assisted code companion”, Visual Studio 2022 gets some improvements to the tool. For example, IntelliCode can now complete entire lines of code, while also noticing repeated edits and suggesting those same fixes throughout your code, wherever it notices similar patterns.
The last major feature of Visual Studio 2022 is one shared with .NET, which is Hot Reload for .NET and C++, which allows you to see code changes take effect immediately, with as little as a quick Ctrl-S to save your file. And if this particular feature is of interest to you, which we assume it is, you may want to look back a few weeks to read about why the drama around it is good reason to keep an eye on Microsoft’s open source stewardship. That aside, Microsoft’s Scott Hanselman (who is among those credited with helping to save the popular yet once-endangered hot reload feature) offers a full demonstration of the wonders of hot reload:
As Microsoft notes in its launch post, “there are hundreds of other things under the hood that will help you,” such as improvements in the debugger and .NET language service, Web Live Preview and cross-platform testing on Linux, so make sure to check out the release notes and documentation. One final thing of note for you Visual Studio users out there is that Visual Studio 2022 for Mac is still in preview, with Preview 3 just out this week as well, and with M1 processor support on the way. And, of course, if you’re not up for more reading, there are videos aplenty to take you through what’s new, including this one recapping the launch itself:
Moving onto what Microsoft calls “the fastest .NET yet,” the release of .NET 6 is the culmination of “just over a year’s worth of effort by the .NET Team and community” that includes C# 10, #F 6, so-called “massive gains in performance,” and, of course, native support for Apple Silicon. Microsoft notes that .NET 6 will be supported for three years and, as one developer points out on Twitter, this also means it’s time to update from .NET 5 ASAP.
I know you’re all excited about .NET 6 but I will remind you that the eol for 5 now starts. You have six months to upgrade. https://t.co/MW4phE47OM
— Barry Dorrans (@blowdart) November 8, 2021
Now, if you thought there wasn’t enough room to include everything new with Visual Studio 2022, that’s tenfold with .NET — even Microsoft’s blog post, which is practically 20,000 words long, can’t cover it all. As they write, “The release includes about ten thousand git commits. Even with the length of this post, it skips over many improvements.” Nonetheless, some of the top highlights include the ever-touted improved performance that you expect with any release, although “for file I/O in particular”, as well as its ability to be a “Unified platform across browser, cloud, desktop, IoT, and mobile apps, all using the same .NET Libraries,” something Microsoft had originally targeted for .NET 5 but was then delayed by the pandemic.
Been benchmarking .NET 6 for a CPU-dependent workload I care a lot about (and have spent months optimizing).
4% faster than .NET 5 with no changes, nice. Opting into dynamic PGO takes another 15% off that, very nice!
— Reilly Wood (@reillywood) November 10, 2021
As Microsoft notes in its blog post, beyond its brief (yet still lengthy) list of everything new in .NET 6, “you’ll have to download and try .NET 6 to see everything that’s new,” calling the release “another huge .NET release, with near-equal servings of performance, functionality, usability, and security improvements.”
This Week in Programming
- Google Opens Up Summer of Code: First up this week, Google’s popular Summer of Code (GSoC) program, wherein the company has historically worked with university students to mentor them in the world of open source software, has expanded to non-university students as well — students of life (and particularly open source software), shall we say. The program is now in its 18th year, having “brought over 18,000 university students from 112 countries together with over 17K mentors from 746 open source organizations,” and will now be available to “all newcomers of open source that are 18 years and older” and not just university students or recent graduates. And in case you were wondering, yes, this even includes you mid-life, career changers and self-taught developers, among others. There is no age limit — just the desire to learn about open source. Beyond the previous requirement for university enrollment, GSoC has also expanded the size of projects involved, including both “medium-sized projects (~175 hours) and large projects (~350 hours),” as well as allowing for increased flexibility in the timing of projects, allowing projects to run for as long as 22 weeks, rather than just 12 weeks.
I'm "still afraid to use spaces in file names" years old
— TheIdOfAlan (@TheIdOfAlan) November 9, 2021
- Go Celebrates 12 Years: The Go team is celebrating 12 years of Go with a blog post looking both at the year past as well as the year ahead. If you haven’t been paying super close attention, well, this serves as a perfect recap of everything that has happened in the world of Go over the last year — there are simply too many to list here, but suffice to say, some long-awaited changes were made, and some are still on the way, such as the Go fuzzing beta and the addition of generics, both of which are now expected in Go 1.18 in early 2022. Speaking of generics, Go held its second annual Go day at Google Open Source Live last week, and the sessions are online, including (among several others) “Using Generics in Go”, by Ian Lance Taylor, which introduces generics and how to use them effectively. As for the “year ahead” part of things, next month sees GopherCon 2021, which will of course include speakers from across the Go community. Two sessions to look out for are “Why and How to Use Go Generics” by feature designers and implementers Robert Griesemer and Ian Lance Taylor, and “Debugging Go Code Using the Debug Adapter Protocol (DAP)” by Suzy Mueller, who will show you how to use VS Code Go’s advanced debugging features with Delve. Beyond that, the team dips into expected language features, writing that “Generics will be one of our focuses for 2022,” with the 1.18 release just being the beginning, and with supply chain security also serving as another focus.
- Go Packages Gets A New Search: While we’re on the topic of Go, one more quick update: the team also unveiled a new search experience on pkg.go.dev this week based on your feedback. The long and short of it is that results are now grouped together to “reduce noise when several packages in the same module may be relevant to a search.” In addition, versions of the same module will be grouped together, and other information around imports, versions and licenses has been rearranged.
- Adios, Docker Desktop Update Pop-Up: Docker Desktop 4.2 is out this week and among the many features introduced there’s one we’ve heard much clamoring about: that annoying pop-up asking if you’d like to update. Well, this release does away with that, instead, adding the update option to the settings, where, you might argue, it belongs. Beyond that, this latest version of Docker Desktop also allows you to pause, essentially saving your application state where it is and dropping your CPU usage, which can help with laptop battery consumption. Up next, Docker says it will be working on improving Mac filesystem performance and implementing Docker Desktop for Linux, two of the top requested items on the public roadmap.