DEV Community

Cover image for Windows or Mac (or Linux😁) for devs?
DevLorenzo for World In Dev

Posted on • Updated on

Windows or Mac (or Linux😁) for devs?

Hello World! Just wanna do my first #healthydebate to see how it feels to have interactions with other programmers. I bought a week ago a new pc and decided to buy a window. I read some articles on it before deciding and it came out that windows will allow me to have more freedom (and to play videogames 😊). What do you think about that? Do you have a mac or a window / what pc do you have? Why?
I'm very interested in creating a conversation / a debate thinking about which one is the best, particularly for programmers. I also have in mind to write an article on that, maybe using quotes from this post.

Alt Text


Remember the comment!

PS: You can also comment if you have linux

If you don't want to write a long comment, just say which OS (Windows, MAC or Linux) do you use.

Check this article, my second debate, how programmers love to code?

And this one, why programmers love to code?

Just wanted to add the Stack Overflow results:

Platform devs develop for:

image


image


Subscribe to my Newsletter!

A loooong, and fun, weekly recap for you
Free PDF version of my articles
Highly customizable inbox
That's --> free <-- and you help me!

Top comments (75)

Collapse
 
ninofiliu profile image
Nino Filiu

Windows < Mac < Linux

Windows is the worst OS for developers and should be avoided at all cost. It was simply not made with us in mind. Scripting capabilities are limited, PowerShell is badly designed and poorly documented, and WSL2 fails with cryptic errors at any task that is remotely low-level. Windows is a bloatware: there is a huge amount of pre-installed software you don't need which slow down your PC, take a lot of memory and disk space, and that you can't uninstall...

MacOS is already a far better choice but has too many protections, so you can't configure things you'd like to change, and Docker doesn't run properly because of OS permission issues.

Linux is the best dev+gaming option. You get an even better developer experience as with a Mac, a computer with the same specs costs half the price of a Mac and lasts twice as long, and also the OS doesn't spy on you and is built with free software. It was not the case a decade ago but now there are a ton of gaming-oriented distros to chose from (beware of SteamOS which is not that great tho).

If I were you I'd dual boot your Windows PC with 25% of disk space for Windows just for games that don't run elsewhere, and 75% of disk space for Linux that you'd use for everyday computing, developing, and gaming.

Collapse
 
akatsukilevi profile image
Akatsuki Levi

Solo Linux user here.
I literally have a Celeron G3930 with 4GB RAM and Integrated Graphics.
It's already enough to game nicely(War Thunder mainly) and programming is smooth.
XFCE 4 with Manjaro Linux, running Linux 5.10
I've never had my computer so stable in my life before Linux. Already ran Windows on it, barely could use it properly. Tried Hackintosh, was horrible.

Collapse
 
cryphrog profile image
cryphrog

^THIS

Collapse
 
ducaale profile image
Mohamed Dahir

What kind of cryptic errors did you encounter in WSL2?

Collapse
 
marcellothearcane profile image
marcellothearcane

Things like how you can't access network sockets low level, and you can't access USB devices properly for flashing with UF2 (i.e. STM32 devices). That's just two recent issues I've had.

Collapse
 
ninofiliu profile image
Nino Filiu

Plenty of them, I left Windows years ago, but on top of my head:

  • npm install of simple, front-end-only packages, that failed due to node-pre-gyp
  • Docker that crashes
  • ssh that can't connect
Collapse
 
mallockey profile image
Josh Melo

Hard disagree on PowerShell. Its actually quite well documented and the fact it outputs objects instead of texts makes scripting so much easier. Not to mention the direct access to .NET classes/objects.

Collapse
 
catalinradoi profile image
CatalinRadoi

You've lost me in the first sentence.

Collapse
 
appsecmonkey profile image
Teo Selenius

See, people say Linux even if you don’t add it as an option (:

Collapse
 
ninofiliu profile image
Nino Filiu

Yes, but I think it's legitimate! Hear me out:

Billions have been invested in marketing by Microsoft and Apple so that people don't even think of any other OS besides theirs. It might sound annoying to hear people bring Linux on the table even if no one asked, but I think most of these interventions come from a genuine desire to tell people about an option they've been conditioned into not even considering

Collapse
 
devlorenzo profile image
DevLorenzo

Yes, i didn't think there would be so many on linux. I changed the article title!

Collapse
 
michaelcurrin profile image
Michael Currin

I'm not a Windows user but would recommend setting up the Windows Subsystem for Linux. Then you can Ubuntu and do Linux programming without a separate install + reboot.

I do find switching between mac and Linux command line generally easy. My first tech job also meant using Linux command line for the first time ever but programming on mac before that prepared me well.

The frustrating thing about mac is the price. Of the laptop and mouse, extras etc.
People who own mac's will probably say this cost is worth it for the brand performance.
People who use linux will probably say it is free and flexible.
Want to reinstall another flavor of linux on your machine? People do it all the time. There are tons of distros. There is only one mac OS and it increments.

Programming on linux and mac both mean security. By the design. And also because majority of the world uses windows so hackers write viruses for windows.

Linux programming also makes it easy for modern computing. Like running a container or a remote web server or kubernetes cluster. Free, open source and secure.

Linux is about collaboration to make and give away free software. Apple is a for-profit company so they will always do things like keep the closed so don't need know what they are doing with your data and they will have an agenda on how to sell more apple products and ship their OS. Apple has been a leader in some innovation so they are not bad. They will also just be different from open software orgs

Collapse
 
okikio profile image
Okiki Ojo

I actually disagree with your points on security, Windows is probably the most secure in my opinion. Microsoft just has so much more experience dealing with viruses and hackers on a large scale (multiple different types of devices) that a device will only be insecure if you disable the numerous number of protection Windows has.

Collapse
 
michaelcurrin profile image
Michael Currin • Edited

I don't know.

Windows having experience with hackers doesn't alone make them better, it might just mean Windows is easy target for vulnerabilities so they get targeted easily?

I don't think I've ever heard of someone associating Windows with security. While Linux and Mac are frequently associated with security. Linux because its code can be viewed by anyone so the public finds, reports and fixes bugs potentially faster than a company with limited employees and fixed release cycles and closed source code can achieve. Macs are built on Bash and now ZSH - similar open source shells which form the base of Linux.

I worked with someone who said to a Windows colleague - don't bother installing anti virus software on your mac. Macs are built for security.

As someone else said here, mac asks for a lot of permissions for things and this assists with security. I get a pop up when a dev server tries to use a port. And get a pop up if I tried and install software that doesn't come from a signed apple provider so it asks me verify it is a trusted source.

I had a discussion yesterday where I was told that Windows is making it harder to deliberately disable updates and even then it makes security updates mandatory. Which is good. But still doesn't mean the system as a whole is more secure.

Thread Thread
 
michaelcurrin profile image
Michael Currin • Edited

Not doing to do a deep dive, but just going to pick a few quotes from the first few articles in a search, willing to see arguments from both sides on has the reputation for being more secure. And as a bonus if this still holds.

Overall I found mac does indeed have the reputation for being more secure but this is due to windows being 90% of user and therefore targeted. And that both systems have vulnerabilities and neither is inheritantly more secure.

DuckDuckGo search "Windows vs mac security".

Results in the order found. First 4 below are first 4 in the results.

Kaspersky 2020. First result.

Apple's Mac computer line has proven itself over the last decade as a significant competitor to Microsoft's Windows platform. Alongside a powerful software and hardware ecosystem, Apple has also garnered a more "secure" reputation than Windows PCs.

Digitaltrends conclusion

As Microsoft continues to make gains in this department and user sensitivity to the issue changes, the situation will continue to evolve. For now, the assumption about the Mac’s superior security stands.

Transunion

Not on reputation but comment that they are equally resistant.

“There’s nothing inherent in how OS X is built that makes it much more resistant to viruses.” Rather, Windows are at a higher risk of hacker attack — upwards of a million new threats each day by some estimates — because malware developers are looking to target as many machines as possible.

Macs may not come with antivirus protection, but they do have another way of keeping malicious programs off your computer: Gatekeeper. This is a utility built into the operating system that automatically blocks software from being installed that does not come from an approved developer. ... Windows users have access to a similar utility, called Device Guard, however this is designed for a trained administrator on a computer network.

Mac sounds better equipped by default with regards permissions.

Tom's guide

Macs have long had a reputation of being more "secure" than Windows PCs, with users believing that Apple machines are impenetrable to cybercriminals planning to carry out malware attacks.

The bottom line: Macs and PCs both have flaws and vulnerabilities, albeit in slightly different ways. For example, cybersecurity company Kaspersky suggests that Windows requires more active security upkeep, while Apple has been less proactive with security updates and patches.

No matter which operating system you may be using, don't get lulled into a false sense of security.

Digital trends again

Though arguably safer than Windows because it’s less frequently used (a concept known as security through obscurity) it’s not inherently more secure.

They actually said Chrome OS was most secure but Mac is next best as practical choice.

Another angle:

CNET

"If you look at the number of published vulnerabilities in software and the number of users and compare Windows versus Mac OS you will discover that Mac OS has far more published vulnerabilities per user than Windows does so I think the data pretty much speaks for itself."

Mac appears to have an edge in that regard.

Thread Thread
 
okikio profile image
Okiki Ojo

I was just giving my opinion, but here we go.

Linux being open source doesn't make it more secure, open source means everyone can see the code including hackers etc...

Mac OS is seen as more secure but that doesn't mean it actually is more secure it , in truth Mac OS is just has a smaller percentage of the market that hackers don't really bother (but that means if a hacker actually tried Apple would have less experience and wouldn't have the systems in place, 9to5mac.com/2020/08/01/new-unpatch...).

Windows in my opinion has more experience dealing with hackers and viruses that it actually makes it a more secure choice.

Security is a set policies set in place to secure data and devices, and just based on the amount of experience Microsoft has I'd argue they have the better security.

Thread Thread
 
devlorenzo profile image
DevLorenzo

In my opinion it's always better to have a third party antivirus that secure connections and file downloading.

Thread Thread
 
devlorenzo profile image
DevLorenzo

Wow! Really nice research

Collapse
 
arto20 profile image
Arto20

Personally I use both Win and Mac, I have similar toolset on those (Pycharm and extras mostly).
My feelings: in general, I feel I'm way more productive with Windows, considering all the keyboard shortcuts and, well, years of developing my habits with it.
On the other hand, MacOS provides much more pleasant experience with much better look and the MacBook itself is just such a nice device and it's just a bit more enjoyable per se.
Both are great as long as it fits your personal workflow 🦾

Collapse
 
devlorenzo profile image
DevLorenzo

Thanks for the feedback. I think like you, you have to choose according to your habits and how you feel better. Although the two should be tried first. Windows are free and fast, but a MacBook is so beautiful, and it can be very fast when you know the cords (thanks to its nice UI).

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

MacBook is so beautiful, and it can be very fast when you know the cords

re beautiful: link

re fast: have a look at what some people can do with i3 or awesome. Those systems are optimized for fast user interaction with a steep and long learning curve, so you can keep improving and getting more proficient for a long time. Alternatively, something like cinnamon gives you nice defaults that let you be productive from the start while still letting you customize many aspects so they're more in line with your preferred way of interacting with your PC.

Thread Thread
 
arto20 profile image
Arto20 • Edited

Oh, don't get me wrong - I was using Arch Linux +i3wm exclusively for a few years of university and I still do use Linux at work.
I really like i3, it's a great and efficient working environment.
There are some major problems with it. It really requires a lot of setup in order to make it usable. Also you need to have quite a good knowledge about Linux in order to be able to set it up correctly.
And one thing I really don't like - UI scaling doesn't work as good as on other systems. In my case it's kind of deal breaker - I use 150% scaling on Windows, and on Linux it's always blurry, no matter if I use Wayland or Xorg. I guess there may be some solution, but I was tired of looking for solutions and just wanted a working environment so I can focus on programming instead of tweaking my OS. :P
But Linux is great, I'd never say it's worse than Win or MacOS - it's just different approach, which just doesn't fit (at this moment!) my work needs.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

considering all the keyboard shortcuts

Just imagine an OS where you could set all those shortcuts up the way you want them 😝

Collapse
 
rvxlab profile image
RVxLab • Edited

My preference goes to Linux or MacOS. I despise Windows for programming and if I see one more error that I need admin permissions to delete my node_modules folder I'm going to scream.

WSL2 is better but still not for me.

For gaming Windows is still the best option for me so my gaming Rig runs Windows. My laptop runs Linux.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited
  • What kind of software are you developing? Run on remote server? Run on web browser? Run on mobile? Run on client's PC?
  • Do you use Shell or Bash? Basically, I am not adept with Command Prompt and PowerShell. If you are well trained in Windows, you might be the opposite.

macOS is good for installing software, including proprietary ones, until your Mac become older than a few years.

  • The OS keeps updating, until your Mac cannot install anything, nor compile anything; if you don't update. And, it will always bug you to update.
  • Good thing is that, it is quite POSIX compliant. Bad thing is confusing keyboard layout; which will be prevent you from moving to other OSes.

WSL2 is not that good compared to real Linux desktop. Therefore, in the end, I use both Windows machine (which does have WSL2) and Linux machine (which has VirtualBox).

Collapse
 
taikedz profile image
Tai Kedzierski

Are you trying to start a bloodbath here?? 😉

As always, "It depends." I am a staunch Linux user. I would not recommend Linux if you're trying to develop Windows desktop applications though... that wouldn't make sense..!

  • What is your deployment target? Match the development environment to the target
  • If it's for browsers, you have much more freedom to choose between the three, but in most cases you're choosing between Windows and Linux for server-based projects, depending on what the production system is using
  • If you want to automate build and deployment, your ops colleagues may yet push for Linux on the server side - so your tools will need to either be cross-platform, or match that tooling's platform. They won't thank you for tying them to a full-GUI-based build toolchain (but those are thankly becoming rare)
  • If you're also responsible for testing, and you are doing client-side stuff.... mind that you will likely end up with at least two computers, if not three, for full range testing (unless you can do it on a server farm/cloud account)

This question comes up time and time again though, and is very dependent on the use-case. You might want to refine your query.

So, 100 Continue

Collapse
 
syedumaircodes profile image
Syed Umair Ali • Edited

Windows just feels broken these days. I mean why do you have two different apps for one function (control panel and windows settings) so I decided to convert to linux and it's great for development and normal usage but for gaming I would always choose windows

Collapse
 
devlorenzo profile image
DevLorenzo

For gaming ou would always use Linux or Windows?

Collapse
 
syedumaircodes profile image
Syed Umair Ali

It was a typo 😅

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I just switched from bash to zsh. Just remembering that on windows this wasn't even a question (there was cmd and powershell, and that's it) feels kinda weird to me. Other than gaming, I don't see any reason whatsoever to prefer windows over linux.

Collapse
 
okikio profile image
Okiki Ojo

Powershell Core is an awesome alternative on Windows.

Collapse
 
dimosthenis profile image
Dimosthenis • Edited

This debate goes on since the late 80's, trust me you won't figure out much but here it goes.
I've tried all 3 major platforms Win, Mac and Linux. I've sticked to Mac for the reason that it just won't crash*. Never had issues with updates nor unresponsive applications or blue screens of death. Plus if you practice safety it is almost impossible to get malicious stuff. Working happily ever since.
If you are a serious player alongside with programming go for Win.
If you are a hardcore backend dev go for Linux.
Nothing else to be said. My advice is to try them all (borrow a friend's laptop) if you can.

*except a couple of times but no damage was done

Collapse
 
devlorenzo profile image
DevLorenzo

I understand you, my windows crash all the time and I have serious problems with applications not responding / problems when not updating. But I'm also a fairly serious player who know windows shortcuts by heart.
I also personally think that mac keyboard is too tiny for gaming / writing fast (even if the absents of noise is fantastic).

Collapse
 
okikio profile image
Okiki Ojo

From what I see here a lot of developers have a bad outlook on Windows and as someone who has tried all OS's, some of these complaints seem misguided or driven by inexperience.

Linux is very free, developer friendly and allows for a large set of programing to be done with ease, that is until you run into some software you need that Linux doesn't support, also from just a user experience perspective Linux straight up sucks (it is improving rapidly but it's not there yet), do note user experience is separate from user interface there are many Linux variants with good UI but that doesn't necessarily mean a good user experience.

Mac OS is basically Linux with a good user experience and a steep learning curve. The problem with Mac OS is that it's very limited by design and you are at the mercy of Apples decisions (long term with the M1 switch Apple may force apps to need to use the app store, but that is the general problem with using Apple products, you just don't know what they will do).

Windows is sort of more user experience over developer experience. Windows Security used to be a nightmare when using basically any programing language they've improved this with recent windows updates, more memory is required than their counter parts, UWP Isn't the default app install type (UWP apps are smaller and use less system resources overall), you are under the rules set by Microsoft (even though it's often too a lesser extent than Apple it's still there) and etc... The list of problems are long but the problems aren't so bad that Windows is unusable for programing tasks, and a bunch of these problems are actively being fixed, project reunion is a plan to unify Windows UI and API's so Windows is as consistent as Mac OS and system resources are better used by apps. Powershell is very powerful but Powershell Core is a tier above that. A bunch of abilities once locked become available to you the more you actively try to learn about what you can do with Windows (there reason why IT pros like it).
For a summer internship in the IT department of a company a while back I was forced to really learn how to use Windows and Windows is quite powerful and even has its own learning curve but if you learn it, it can be an awesome experience.

Do note, I have used Mac OS for 3 years, Linux in a docker environment for 2 years (I also tried using just Linux for over a month, the experience was just not good enough), I have used Windows for 2 years, and I have used Chrome OS for 4 years (don't even bother with Chrome OS, programing requires such hacky solution, it's kinda off putting).

Collapse
 
cipharius profile image
Valts Liepiņš

For me it's definitely linux, because I honor extremely high customizability and freedom to design my own desktop environment.

Collapse
 
eric23 profile image
Eric

Cool. New hardware is always fun :)
I run Linux Mint on my PC. I also have a Mac Mini 2018 and a laptop running Windows but I really only use those for testing.

Collapse
 
dominikhaid profile image
dominikhaid • Edited

Linux over here. Windows wsl2 works fine and stable but it comsumes a lot of ressorces. When things like docker or something crash with wsl2 most of the time it's because the system runs out of memory. So you need a good system with a good amount of ram and then still it's kind of a waste. I really used it heavily for more then one year but. Would recommend a dual boot setup instead...

Collapse
 
natelindev profile image
Nathaniel

Just buy a $3000 macbook and you will not have any excues when you write bad code.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.