I’m going back to Linux after ~8 years of maining Windows. I was a Linux desktop and server user back in college and did all my dev on there. When I got my first job, I bought a better laptop and started maining Windows.
I am going back to Linux for three main reasons: I hate the Windows 11 UI, I’m increasingly paranoid about privacy/security, and the development experience for native software has sucked for a long time.
Besides the obvious downward spiral in UI since Windows 7, it’s also become unreliable and slow. Some days, File explorer just won’t open. Others, it takes a full minute to load my “home” view, and some others I get weird bugs where the color settings are broken or I can’t actually click on folders anymore. The start menu is slow to open when pressing the Windows key, windows search is slow to index and sometimes looks stuff up on Bing instead of opening a file. The default apps (calculator, image viewer, media player) have been getting replaced with slower UWP versions with flatter and flatter UI. Finally, Windows is increasingly pushing AI stuff onto the platform, which leads me to privacy/security
I am increasingly paranoid these days about privacy and security. While I don’t have any outstanding issues with security at large, I don’t trust Microsoft’s telemetry collection and I especially don’t trust anything that gets sucked up into Windows Recall’s AI Black hole. This hasn’t been an issue, but I’ve always wondered why Microsoft hasn’t made it simpler to create containerized applications with AppX/Windows SDK. It seems like it should be way easier to create a flatpak-like sandboxed application with any API (Win32, WinForms, WPF, or any language really).
Believe it or not, Windows is a good development platform, these days, unless you’re trying to write Windows software. Microsoft, under Satya Nadella, has been taking care of its developer community and making a lot of tools free and some open source. vcpkg has revolutionized my C++ development and I’ve always been fond of many MSVC extensions such as SAL. There’s a lot of pros and cons, but I generally prefer NT API calls over POSIX API calls (which are far more long in the tooth than NT at this point). That said, I tend to just write cross-platform “modern” C++ and don’t make too many system calls anymore. I will miss Visual Studio (and the ease of SLN/Vcxproj files), and it seems like the only comparable C++ IDE available for Linux is CLion. I’m actually a fan of DirectX and HLSL over OpenGL and Vulkan: Microsoft has made a lot of really great first party libraries/tools available for DirectX that make it a really fun API to work with when you include DirectXTK. I am one of the rare few users who actually enjoys PowerShell; I prefer piping typed, structured data over piping streams of bytes. I also really hate sh/zsh/bash syntax.
That said: Microsoft has utterly lost the plot on native windows application development. They release a new UI Framework for C# and Whatever the latest managed C++ framework is every 3 or so years, and then immediately fail to support it, subtly changing XAML syntax or .Net namespaces so that your old UWP or WPF code is strangely not compatible anymore. To me, what is most telling about Microsoft’s level of commitment to its newest frameworks is the fact that they are still supporting WinForms with modern, cross platform .Net builds, meaning that you can use modern C# and .Net features in a runtime that is supposed to have been replaced by their XAML products a long time ago. The only really viable way to write a DirectX application, and the only way that has any official documentation on it, is STILL to use the original Win32 APIs to create a window and manage IO.
So anyways, I’m not as zealous about Linux as most people on the internet are; I still think Windows is a good software development platform and maybe Microsoft can turn the ship around some day, but I doubt it.
Hey, it may not be what’s going on with you, but I had similar issues years ago on Windows Vista (file explorer hanging up, not launching, start menu slowness) when the HDD in the laptop started failing.