4 ms·
In my experience doing systems programming across Windows, macOS, and Linux, there are a few specific areas where developing on Windows is the best platform. Ga
by dlivingston 2y ago
In my experience doing systems programming across Windows, macOS, and Linux, there are a few specific areas where developing on Windows is the best platform. Game development is one of them: DirectX 12 is the industry standard graphics API, and the first- and third-party tooling related to it is cream of the crop on Windows.
.NET development is another area where Windows shines. And if you're comfortable living in Visual Studio and not really venturing into the CLI world, I can see Windows development being very nice. VS is truly the premier IDE.
With that said, for most other types of development, Windows is unergonomic or an outright PITA compared to Linux and macOS. Web development, data science, embedded, scientific computing, general scripting, and anything related to CLI tooling and development. This isn't a secret either: it's why WSL was launched to such acclaim from developers.
- lostmsu 2y agoI did both web development and deep learning on Windows proper, and can't quite understand what you mean by unergonomic. Can you name specific examples? I sort of have opposite experience with Linux where installing the right version of CUDA and GPU drivers was a quest (~5 years ago). Same with conda for Python and npm for web.
- orwin 2y agoAs soon as you have to create clusters and do not use a single machine, or use network drives/windows fs for data at rest in a usable way (not slow as hell), or do anything with the network that also has to be sightly secure, you really have to be an expert to do anything (securely). Windows Sec/Ops are probably the software engineers I respect the most.
- Blackcatmaxy 2y agoHard disagree on Visual Studio being a "premier" IDE, I know VS2022 cleaned up a lot from VS2019 but it still is one of the slowest IDEs I have ever used and the intellisense will just sometimes break through multiple windows restarts. One of my biggest tips to my classmates in uni has been to just use literally anything else from VS Code (which admittedly isn't much better but doesn't take nearly as long to start up) to the Jetbrains IDEs which are thankfully free for students. EDIT: On second reading I see you meant specifically for C# where omnisharp in VS Code really leaves a lot to be desired but Rider is still at the very least a good peer if not straight up better and faster than Visual Studio
- steve1977 2y agoTell me you have never used Xcode without telling me you have never used Xcode.
- delta_p_delta_x 2y ago> Web development, data science, embedded, scientific computing, general scripting I don't follow this list. The large majority of both front-end and back-end web dev is almost entirely JavaScript, which completely abstracts the OS away and runs in a managed environment, mostly Chromium. This has first-class support on Windows anyway. What about writing CSS requires Linux? Web back-ends are usually written in one of JS, Python, C#, or Java, and all are platform-independent managed/interpreted languages. Data science and scientific computing tend to be written in Python, especially considering ML/AI libraries, and Python works well on Windows. As for general scripting, bash is a poor example. Python is again natively available, and better still, there is PowerShell, with straightforward access to the entire .NET/.NET Core libraries. I can absolutely write superb CLI interfaces in PowerShell (or even in C#, and then expose CLI interfaces in PowerShell). I don't see how Linux is in any regard superior.
- miniupuchaty 2y agoI think for Gamedev windows is mostly good just because that's where most of your players are. Tooling was historically also better from a GUI perspective. With nicer to-use debuggers. Now on Linux you can use Jetbrains products if you need them. Vulkan is just as much an industry standard as DirectX 12 is. I did a lot of work with both. Choosing between them is often just a matter of being already used to one when it comes to PC support. You'll have to do DX for Xbox support and that's sometimes a bigger player base for you than Android/Linux/Switch/Mac(MoltenVK), though. As a game developer, I can see how DX12 got a lead. As a Linux user, I'm a bit salty that it's being chosen so often! As we could have all united on an open multiplatform API :(