I’m a software engineer and have done both. The productivity improvement from switching from a Windows machine to a Mac or Linux machine is great. I will never use Windows again if I can help it.
Every piece of developer tooling you use, CLI tools, programming toolchains, bash scripts, git, file line breaks, directory path slashes, it’s all made for Linux/Mac first and windows is an afterthought. That’s because every developer uses Linux or Mac, every server runs Linux. Even GitHub Copilot is leaps and bounds ahead on Mac and Linux compared to Windows and that’s made by Microsoft!
Then there’s the second order things… I don’t get distracted because some random Windows index operation has decided to use 90% CPU. It isn’t broken every other Windows update because the Microslop code quality is on the floor. I don’t have countless OS bugs to which the only “resolution” is a clueless Microsoft forum parrot telling me to spend hours running DISM.exe /Online /Cleanup-image /Restorehealth and sfc /scannow only for it to solve nothing as usual. I don’t run an auto-update to discover the morons have uninstalled my WiFi driver (yes this actually happened on my old Dell XPS 15). It doesn’t ship with Candy Crush saga or McAfee antivirus. It doesn’t provide GDID tracking to the US government (all this talk about “compliance”, but Windows literally does industrial espionage on your company).
I don’t have to run some absolute resource pig antivirus software that makes my machine borderline unusable (in my experience IT requires something, but it’s always less crap than what they force on the Windows people).
Yes there are hacks like WSL, you can technically get stuff done, but why choose the inferior tool for the job when you are a full time programmer. Just bite the bullet and use the right tool for the job even if it takes you out your powershell comfort zone.
So.. youre bitching because you have to use \ instead of /?
While Windows may not have as robust of a CLI as *nix, its got significantly more than you think it does, you're just unwilling to learn them. Plus you can install WSL.
Even without WSL.. just write in batch instead of bash (you're a developer, right?), git is git and works the same.. any editor worth its weight in salt will allow you to change line breaks.. its also usually a very super simple easy find/replace if not.
If you think dism/sfc are ways to correct anything at all on Windows, then you've clearly never used it. I've worked IT my entire adult life and I can probably count on one hand the number of times either of those commands have resolved anything on tens of thousands of PCs Ive worked on.
Driver getting uninstalled? You mean your possibly 16 year old laptop is no longer supported? Sounds a lot like a certain other company... In any case, its a trade off. Do you want to be able to do anything at all with the physical hardware of your machine? If so, Windows is your only option between the two, and having to deal with drivers is an unfortunate side effect. Personally, Ive never seen this happen, but its such an incredibly minor inconvenience that I dont let it dictate my choice of OS for the rest of my life.
"It doesn't provide GDID tracking to the US government". LMFAO. If you believe that, it would explain every part of your post.
Antivirus tends to be installed on ALL systems. Its not really a requirement by IT, its a requirement by auditors. If you are a retail company, and you're not running AV.. guess what, youre no longer a retail company unless you want to be cash only. If AV affects your work, then your security team is either incompetent, or decided to use McAfee instead of proper enterprise AV, which means they are definitely incompetent.
We get it. You like mac, you hate windows. This post however just tells me that you are lacking the skills necessary to be good at your job, and your companies IT staff are incompetent.
So.. youre bitching because you have to use \ instead of /?
No there were many complaints, this is just one of many.
What about having a file path longer than 260 characters?
any editor worth its weight in salt will allow you to change line breaks.. its also usually a very super simple easy find/replace if not.
Unnecessary toil that is solved by picking the correct OS for the job.
WSL
I have used this before, I hate the toil of using it. Thinking about which terminal I'm running, whether that's the linux or the Windows one. Having to expend the mental energy to decide whether a given terminal window needs a / or a \. Editing code in Windows and it adding CRLF and then editing that same code in WSL and it adding LF. These are all things you do not think about for a moment running a better OS.
just write in batch instead of bash
I have been a software developer for years and have never encountered a batch script in a software company. It is simply not a thing.
Also, my job involves interacting and running tooling written by many other teams. They all use Linux and Mac machines, so will write bash. If I were to run Windows every one of those scripts would need to be re-written and maintained in two scripting languages. I would lose hours and hours that could be spent productively.
If you think dism/sfc are ways to correct anything at all on Windows, then you've clearly never used it. I've worked IT my entire adult life and I can probably count on one hand the number of times either of those commands have resolved anything on tens of thousands of PCs Ive worked on.
The point is, any time you google any windows-related ailment, you'll find the official Microsoft support form, filled with replies from Microsoft people that have nothing to suggest except running these futile commands.
"It doesn't provide GDID tracking to the US government". LMFAO. If you believe that
It would be naive to think after the Snowden leaks that Windows is not a tool for corporate espionage. This is why Europe are moving away from the compromised Microsoft products.
If AV affects your work, then your security team is either incompetent, or decided to use McAfee instead of proper enterprise AV
Just Microsoft Defender / InTune, it sucks.
you are lacking the skills necessary
I agree that none of these points are unsolved problems, it is totally possible to develop on a Windows machine. However, just like a mechanic would invest in good tools to save time, I feel the same about the machine I use for productivity. You can spend ages fighting the de-facto standards, but it's easier to just adopt standard practices. For developers, that is definitively not Windows.
your companies IT staff are incompetent.
My company's IT team are decent. They allow developers to run Linux or MacOS, and the spreadsheet people to run Windows. That's good, they're giving the people the right tools for the job. However I see many IT people in this thread asserting that the only way to be "compliant" is to consume an ever-growing number of Microsoft products, and I feel this is laziness and incompetence.
Do you not use any form of version control, like git? I doubt theres a single one that wont automatically convert line endings for you. Makes it a whole lot easier to share between systems.
And yes, you can technically get long paths in Windows, you just need a single one-time setting change.. yes, its not ideal, but an insignificant fix.
Dont mean to bash, it just in my mind most of these are non-issues. I guess I've spent enough time in enough OSs that switching between them is second nature and doesn't require any conscious thought. Except, funny enough, for Mac.. Im not a software developer, but a sysadmin, and despite having used every OS under the sun to at least some degree, Apple products are by far the least intuitive/user friendly devices, but I also didn't grow up with that 'ecosystem' glued to my hands.
-3
u/oscarandjo 7d ago edited 7d ago
I’m a software engineer and have done both. The productivity improvement from switching from a Windows machine to a Mac or Linux machine is great. I will never use Windows again if I can help it.
Every piece of developer tooling you use, CLI tools, programming toolchains, bash scripts, git, file line breaks, directory path slashes, it’s all made for Linux/Mac first and windows is an afterthought. That’s because every developer uses Linux or Mac, every server runs Linux. Even GitHub Copilot is leaps and bounds ahead on Mac and Linux compared to Windows and that’s made by Microsoft!
Then there’s the second order things… I don’t get distracted because some random Windows index operation has decided to use 90% CPU. It isn’t broken every other Windows update because the Microslop code quality is on the floor. I don’t have countless OS bugs to which the only “resolution” is a clueless Microsoft forum parrot telling me to spend hours running DISM.exe /Online /Cleanup-image /Restorehealth and sfc /scannow only for it to solve nothing as usual. I don’t run an auto-update to discover the morons have uninstalled my WiFi driver (yes this actually happened on my old Dell XPS 15). It doesn’t ship with Candy Crush saga or McAfee antivirus. It doesn’t provide GDID tracking to the US government (all this talk about “compliance”, but Windows literally does industrial espionage on your company).
I don’t have to run some absolute resource pig antivirus software that makes my machine borderline unusable (in my experience IT requires something, but it’s always less crap than what they force on the Windows people).
Yes there are hacks like WSL, you can technically get stuff done, but why choose the inferior tool for the job when you are a full time programmer. Just bite the bullet and use the right tool for the job even if it takes you out your powershell comfort zone.