DEV Community

Saugat Rai
Saugat Rai

Posted on

Mac or linux or windows for development work?

For me, I use iMac in the office and windows at home. Personally, I was not fond of mac because it's expensive 😅 and you cannot play all games. 🎮
But after using for almost 8 months at the office, I am kind of getting used to it and I think it is a good investment to buy a MacBook.

Which platform do you prefer to work with?

Top comments (29)

Collapse
 
jmplourde profile image
Jean-Michel Plourde • Edited

Linux, without a doubt. I mainly use Ubuntu or Fedora. I don't like Apple products because it is closed, they severly restrict upgrades and it is very expensive. My laptop runs Ubuntu and my tower at home runs Windows 10 since I want to play games (otherwise I wouldn't have a tabletop computer or I'd use Linux).

Collapse
 
raisaugat profile image
Saugat Rai

I also tried Linux for about 6 months. I used ubuntu 18.04. Which distro are you using?

Collapse
 
jmplourde profile image
Jean-Michel Plourde

Forgot to mention the distro. Ubuntu and Fedora so far. I had great insight on other distro in my discussion thread about favorite linux distro.

Thread Thread
 
raisaugat profile image
Saugat Rai

Cool. I'll check that out.

Collapse
 
ferrao profile image
Rui Ferrão • Edited

I was a long time BSD and Linux user that changed to OSX when the first intel compatible version came around. Macs seemed to be similar enough to the power I was used to have on a Unix system, but not having any issues with hardware compatibility.

I always felt OSX a bit weird and missed all the freedom I had before, but... Buying a new computer or a new piece of hardware no longer required a full week of compiling kernels and customising the environment to my liking.

With time, the advantages started to fade... Hardware has more issues now and OSX is a cluttered environment with too many processes running for me to have a clue on what is going on. I have reached the point were the pros no longer compensate for all the cons...

So I bought an old Thinkpad, beefed it up with RAM and SSD and spent two whole weeks configuring everything to my liking, from the kernel up to the window manager.

It's been a few months now and I can say without any regret that I am happy again :)

Collapse
 
raisaugat profile image
Saugat Rai • Edited

I think the thing about mac and other laptops is that you can easily upgrade RAM and SSD in later ones. Mac is just too expensive. Just like you said a laptop can get a huge boast simply by adding RAM and SSD's. I also use windows at home with SSD installed for about 4 months now. The speed is magical. 🙌🏼

Collapse
 
ferrao profile image
Rui Ferrão

Yes, indeed Macs are extremely overpriced now. It is now impossible to purchase an affordable Mac with sufficient performance for development work.

That said, my biggest issue is not price or performance of the hardware per se, it's the fact that I got tired of the lack of freedom. I can not customize my software/OS the way I want to and in the end, the good performance of the hardware is severely crippled due to all the bloat in the OS.

I had a good decade running and advising people on using Macs. I have now returned to a Linux based OS and no longer recommend Macs to developers. I still believe they are the better option for the non-developer users if price is not an issue.

Collapse
 
notsag profile image
Maxime Gaston

As a SRE, I'm most used to Linux (Fedora if you want to know everything) and MacOS since they are both UNIX operating systems and most of my work is done inside a teminal or a web-browser.

But as of today, I'll admit that it doesn't matter much which OS I'm using, I'll find all I need even on Windows since Microsoft decided to release WSL.

If I use it only for work,my preference would go for Linux because it's the OS I know best and I like to use as a playground.
But if it's a PC I'd use for other purposes it will depend:

  • If I need it for everyday use I'd choose a Mac because I really like the simplicity, the interface and the hardware
  • If I need to play the latest games I'd go for Windows (maybe until stadia begins, who knows?).
Collapse
 
raisaugat profile image
Saugat Rai

The release of WSL has been a huge update for Microsoft. But the simplicity and performance of the mac, it's like butter smooth 😀. I would love to see those improvements on Linux too.

Collapse
 
dhollinger profile image
David Hollinger III

The primary issue I've seen with WSL is that several corporate environments I've been in don't allow for the necessary features needed for WSL to be installed.

For me personally, It's Linux. I prefer the way Linux works, distros like Manjaro and Pop!_OS have made it much easier for general users to get into it (especially since Pop!_OS is maintained by an OEM). Additionally, with tools like Lutris, DXVK, D9VK, and Steam Play/Proton playing games on Linux is largely easier than Mac OS and covers a good 90ish% of my games.

Collapse
 
twigman08 profile image
Chad Smith

Windows 10 at home using WSL for bash.
Also have a MacBook Pro that I use also.

At work I have both an iMac and Windows 10. I find myself using only the iMac as much as I can.

People can say what they want about Macs. I used to be that too. But my iMac and MacBook Pro are my absolute favorite machines to work on.

Linux Distros? I haven't seen a need for it. WSL has grown a lot and it does all I need it to do. I at one point did run a couple different Linux distros as my primary OS. Just don't see the need for it now. And they never impressed me.

Collapse
 
slavius profile image
Slavius

Yet still the only reasonable operating system to develop Docker enabled solutions is Linux. On Windows, docker runs inside a Linux VM that is running on background eating your resources and slowing down your development machine. The same applies to Mac. Another 2 layers of abstraction (VM + Docker) does hurt performance unless you invest into the absolute beast of a workstation or laptop... Pretty much unjustifiable investment to buy overpriced HW to be able to comfortably develop SW that could have been done with half the budget running Linux distro...

Collapse
 
raisaugat profile image
Saugat Rai

I also think that mac handle the need for both windows and Linux (except for gaming). It has got UNIX terminal and also performance wise, it is great.

Collapse
 
isherwood profile image
Clint Buhs • Edited

Windows. Period. Development is not done in isolation, and almost anything is easier in Windows than in Linux, from communication/collaboration to app window management to graphic design. Except for a few edge cases, there are no reasons why you'd need to be on Linux.

I say this after having worked on Linux (CentOS, Mint, Ubuntu 12+) for many years. I constantly hit snags that would've just worked in Windows or would've had easy, elegant solutions readily at hand. I can't say how much time I've spent trying to get things working in Linux just so they weren't hindrances.

One example is window management. How hard is it to keep the taskbar icons for open windows on the correct monitor, or have the ability to bring multi-window apps to the foreground without multiple clicks? Much harder than I'd ever have guessed on Linux. I tried plugins, UI tweaks, you name it. When my company switched us to Win10 it was like a cool breeze blowing in.

Mac is also fine, but the cost:value isn't there unless you're a victim of brand vanity. There's very little that Mac does better. Stability and security? Not since Win7 and definitely not since 10. Speed? That's hardware-dependent and doesn't vary much. UX? Again, hardware, which is consistently cheaper for Windows. The cost of the OS itself? Not really a long-term factor. Even the whole BASH/command-line thing has mostly been resolved.

To me it's a no-brainer. Windows 10 is very good for software development.

All that said, there are many Microsoft products that drive me crazy. Skype for Business is really wonky (and can't hold a candle to Slack). SharePoint has been a nightmare from a UI/dev standpoint, at least until recently. My point is that I'm not a MS fanboi. I do really like Windows, though.

Collapse
 
ferrao profile image
Rui Ferrão

For me, thinking of doing development work without a Unix Kernel/Shell/Tools is like considering racing motorbikes with my bicycle :)

But I'm spoiled... 25 years living on the Unix command line tend to do this to you...

Collapse
 
isherwood profile image
Clint Buhs • Edited

Which ones aren't available on Windows via Bash Shell or similar?

itsfoss.com/install-bash-on-windows/

Thread Thread
 
ferrao profile image
Rui Ferrão

Yes, you now have a Linux kernel emulation layer with an Ubuntu OS shipped with Windows.

But then you are not developing on Windows anymore. You are developing on Ubuntu.

Collapse
 
chaelgutierrez profile image
Michael Jyms Gutierrez • Edited

In my opinion and experience, Linux,
Linux has a lots of tools for development, project environments are easy to configure. It is better than Windows (Don't take it personally), I find it hard to configure my project setup in windows while on linux. It's just a minute or second and you can go with the development. Linux has large community and lots tutorials out there. The things I like about linux are: It is fast in terms of installing packages and dependencies using command line. Lots of distros are out there where you can choose your preference. Distros that has linux kernel inside, offers long term support for their users. Yeah, that are least I can site for what I love about linux. On the other hand, macOs is out there. Yes I know, macOs is like linux with fancy graphical user interface. But I prefer linux distros with simplicity or I can say any distro that is powered by linux. I tried to be comfortable with macOs, but it lack something I used to when I'm using linux. Many people said linux do not support gaming. Don't believe them, linux is just getting better. Try Steam on linux, it's awesome. I just want to site a thing why I use mac rarely, I just use it because mac is the only unit where you can build iOS and macOs application. Oh, wait I just forget to say something on windows, windows is starting to love linux because it is far way better than them.

Linux is getting better and far way better than others.
(PS: Don't take it personally)

Collapse
 
sakshatshinde profile image
Sakshat

I think the answer is usually Linux but there are some cases where you might want to switch platforms. Example if you're building a desktop app for Windows then it's probably best to use Windows as a platform. But for me personally I use Linux for majority of my development.

Collapse
 
raisaugat profile image
Saugat Rai

I use linux for most of my work too. I am so used to linux environment now, it's hard to switch. haha

Collapse
 
smartcodinghub profile image
Oscar

Invest the same money of the macbook in a Windows 10 + WSL 2 machine. Also, you can have a linux partition if needed. But the WSL solutions is pretty straightforward and easy.

Collapse
 
fernando93d profile image
Fernando García Pérez

Windows 10 with bash for windows :D

Collapse
 
raisaugat profile image
Saugat Rai

Also, the new terminal is interesting. :)

Collapse
 
drishtantrai profile image
drishtantrai

I have used arch, manjaro, Ubuntu Fedora and Pop os and different desktops like matte gnome kde but finally I settled for the simplicity and beautiful ui of Gnome Desktop. Also after getting used to linux I was focused more on work so decided to settle back on ubuntu Gnome as it was very stable and I had never had any crashes of the system. Yeah but sometimes very rarely there was some app crashes but nothing more and that was much more frequent when I used mac os catalina and even more windows 10. But One thing I can say that On Ubuntu Gnome (which I use primarily) if there is a thing you can do on all the oses like mac linux and windows, I was able to do it much faster on my linux machine. But you can choose anything for programming but getting used to linux is your skill and edge over others. If there will be two options for an employer in it field for a linux user and a mac user. No doubt a linux will be preferred over mac and windows.