3 ms·
It depends on what you are making more than anything. If you're writing services that will be deployed on Linux servers (to save cost, increase availability, e
by tracker1 2y ago
It depends on what you are making more than anything. If you're writing services that will be deployed on Linux servers (to save cost, increase availability, etc), then using WSL2 is probably the best bet if you must use Windows.
I've done a fair amount of Windows services development as well as services deployed to Linux. I'll honestly take the Linux way, in particular Docker/containers as a target. It works when you build, works when you deploy, no surprises, no separately installing a dozen dependencies that blow each other up, like in Windows a lot of times.
- lostmsu 2y agoNah. Debuggers on Windows proper are much better experience than Linux (especially C/C++ and .NET), so when I was at Amazon I would always have a short stub for any project (mostly Java) that launches it directly on my host Windows machine so I could use the debugger, and didn't have to wait 2+ minutes to launch the changes.
- forrestthewoods 2y agoIt's shocking how many Linux programmers rely solely on printf debugging. My goodness it's like programming in the stone age. printf is the ultimate fallback, not the tool of first resort!
- anthk 2y agoEven used rr?
- tracker1 2y agoHave you tried Rider for C# on Linux (or MacOS)... works pretty well, I know those who prefer it to VS.
- forrestthewoods 2y agoMy unpopular opinion is that Docker exists because Linux is so extremely unreliable that the only way to deploy a program that can even launch requires create massive Docker images. The Linux model of "global dependencies in a few shared system folders" is, imho, a failed model. > If you're writing services that will be deployed on Linux servers Yeah I just use Linux for that. I wish all programming languages allowed you to trivially cross-compile. This is something that Zig does very well. Rust kinda sorta supports it, but it's a hacky painful broken mess. C++ doesn't have a standard build system so it's just lolbad. glibc is a total disaster. It's stuck in bad design from the 80s. Zig largely solves it and lets you trivially target any ancient version of glibc. The hoops they jump through for Linux cross-compile support is an order of magnitude more complex than macOS and Windows.
- tracker1 2y agoGo seems to do a lot of what you're looking for, including run on minimal containers. Rust can be close to that, but it's more low-level flexible, so depends on your approach and target. There are thinks I do like about Windows... that said, I've seen far too many problems trying to upgrade software on Windows Server(s) to ever choose it again.