However, Rider is quite a bit slower than VS 2022 (w/o ReSharper – Roslynator has been a good replacement for my needs here) and there's likely no good way around this for JetBrains. Since .NET embraces Roslyn for lots of customizations (custom analyzers, source generators, etc.) Rider must keep a Roslyn workspace around, along with its own analysis, thus doing pretty much everything twice – both for loading a solution and for every keystroke.
In other words, Microsoft has been recommending rearcheticting your extensions from the ground up, because their own code base is too messed up to support 64-bit.
And it looks like JetBrains is doing that, but it takes years for such massive codebase.
Rearchitecting the extension out of the process makes sense. You can easily trace performance issues to an extension and they don’t have to build a bunch of extension performance tooling in the ide
strange, this doesn't match my experience at all. VS 2022 is way better than VS 2019 and earlier but still significantly behind Rider in terms of speed.
According to their own developer survey, Windows Forms was at 22% in 2023 [1].
WinForms != legacy, because it's very extensible! Microsoft still maintains it (last update was 1 month ago). It is also still one of the flagship products for companies that make 3rd-party controls like DevExpress [2], Telerik, Infragistics, GrapeCity and several others.
Students in academia today will not learn about WPF, WinUI, UWP and whatever else MS' pushing. They learn Windows Forms - in my country and in Europe at least.
Hopefully we'll get to switch over to Rider soon, but it's been 5 years already [3]. Big mistake.
[0] https://www.jetbrains.com/help/rider/Working_with_Windows_Fo... ("Unfortunately the support of custom controls is not implemented yet (as of v.2023.3)")
[1] https://www.jetbrains.com/lp/devecosystem-2023/csharp/
[2] https://www.devexpress.com/products/net/controls/winforms/
For the C++ folks, Microsoft has yet failed to produce anything better than MFC, C++/WinRT with XAML and COM/IDL ain't it.