DEV Community

Sunny Golovine
Sunny Golovine

Posted on • Updated on

You Probably Don't Need a Mac

themac

I've been on the fence about buying a Mac Mini for close to 4 years now. I love the new Mac Mini but there is one thing I hate about it and can't seem to get over and that is the price.

The Problem with Mac's

oh macs

Mac's are prohibitively expensive. While the starting price of $799 is on par with other PCs, for that you get an i3 Processor and 8GB of RAM. As soon as you start speccing one, add a Core i7, more RAM, and more storage, and all of a sudden that sub $1000 computer is now $2000+.

I work in the software development industry so I have no qualms about dropping two grand on something that will make me money; nevertheless, I still have to justify the cost somehow.

And that is where the problem lies. I can tell you a million reasons why I would want a Mac for development, but I can list maybe 1 or 2 reasons why I would ever need a Mac for Development. The way I see it Mac's have only 1 use for which they are exclusively needed: iOS and Mac App development.

So what is the alternative?

The way I see it, there are two alternatives to buying a Mac. Either one you build a Hackintosh, or you buy a PC and install Linux on it. I've personally have been down both routes and I can tell you that I eventually settled on the latter.

A Hackintosh

Building a Hackintosh is probably the best alternative to a Mac but there is one thing that always bugged me about them and that none of it was sanctioned by Apple.

Now the rule-breaking part is not what bugged me, my family told me I had to become a Lawyer and I broke the rules to become a Programmer, so I'm well versed in breaking rules. No the part that bugs me is that at any time, your Hackintosh can stop working.

Now if you're just a person who codes on the side and doesn't need guaranteed uptime fine. But for those who do it professionally, time is money and I can't afford to have my machine down. The chance of this is small however after running into issues Upgrading from OSX 10.10 to 10.11, I decided that I needed to run something more stable, and something I could truly rely on.

A Linux Machine

Intel NUC

I eventually settled on an Intel NUC + Ubuntu 18.04 (and now 20.04). The experience has been great. For one I no longer build iOS apps outside of my day job so I didn't need a Mac, and I found that Ubuntu can handle Web Development just as well if not better than a Mac can.

The main advantage here is the price. A comparable Mac Mini to the NUC that I bought would have cost me ~$2200, but I was able to get everything for my NUC for around ~$1200, much better.

While there are some tradeoffs to running Linux, under the hood, things like Node, React, npm, and just about any other tool for Web Development runs on Linux just as it would on a Mac. Sure there are some nice tools for Mac that aren't available on Linux like Sketch, but there are ample alternatives to most software, some of it better than the app it's replacing.

Consider Linux + PC vs Getting a Mac.

Mac's are great, I have a Macbook for work and I love it. However now matter how much I may love my Mac's, I don't love them enough to justify parting with $2k+ of my own money. You probably don't need a Mac either. If you need a new computer for development, consider a Linux PC.


If you enjoyed this post, check out some of my other posts on my blog

Oldest comments (124)

Collapse
 
georgeoffley profile image
George Offley

There is very little in terms of benefits for getting a Mac. The price to performance ratio isn't great to look at seeing as a bottom of the barrel mac is a mid range or better PC. I personally tell those looking to get into macs to look for good deals on new and refurbished units since the price is far better. Unless they just want a mac, which some people just like. I tried a mac-mini just so that I can learn Swift.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

The one and only benefit and this is a very thin justification, cmd + space, that gets me coding pretty quickly.

Collapse
 
freddyhm profile image
Freddy Hidalgo-Monchez

I've been using apple products for 14 years and I've justified it by building iOS apps and (at the time) using software that was much better on those platforms. Also, apple (at the time) was setting important tech and design trends which felt great to be a part of. Now it's getting harder and harder to justify an apple purchase.

Is there anything you wish your linux setup had that your macbook at work has?

Collapse
 
sgolovine profile image
Sunny Golovine

I honestly don't miss OSX when using Linux. Just about all the tools I would use day-to-day on OSX can be replicated on Linux. I will say I miss Alfred and I wish Sketch would release a Linux client (I would gladly pay them for it). For now, though I make do with Figma and an Alfred alternative.

P.S: And Figma is quickly catching up to Sketch in my eyes.

Collapse
 
galoiswannabe profile image
galoisWannaBe

I actually Bootcamped my late 2012 Macbook Pro to run Linux because I felt like I was trying to be agile with a set of massive training wheels that can't be removed! Does MacOS have a middle click, yet? That, and having to drag and drop all the time seriously bothered me!

Then, I also dropped an SSD into the thing which OSX "killed" to the point where it was only showing up in disk tests, then proceeded to use it as a boot drive until about a year ago; now it's just another drive.

I guarantee there are nice OS-related things that Mac has now, but I can't believe it'll ever be enough to get me away Linux...

Collapse
 
cubiclesocial profile image
cubiclesocial

I bought a used Mac Mini off eBay a couple of years ago for ~$150. Various auctions kept coming and going, but persistence over several weeks and failed auctions to get one at that low price eventually paid off.

I actually needed it because I wanted to finish making PHP App Server:

github.com/cubiclesoft/php-app-server

Figuring out how Gatekeeper worked was difficult. There's almost no documentation on the internals of Mac OSX. Windows is way better documented. Linux may be open source but is not as well documented as Windows.

Windows is my preferred development environment. The text editors available for Mac and Linux today are still...lacking. What text editors I can use dictates my platform of choice. The debuggers for Mac OSX are basically non-existent, Linux is better but only barely and almost always requires dropping to the terminal. Windows, on the other hand, is completely flooded with all kinds of debugging and platform analysis tools (e.g. SysInternals).

Collapse
 
rsa profile image
Ranieri Althoff

I had one of those Hades Canyon NUCs as the image you posted for the past year, it's an amazing Linux machine and perfect for development. Would fit my backpack (including a keyboard and a mouse) just as a laptop would, but it is much beefier and does not run hot on your lap.

Collapse
 
miketalbot profile image
Mike Talbot ⭐

I like MacOS, it makes me more productive I feel. I like my 5k Retina Screen (iMac) and my other 4k retina screen, and the USBC monitor running full HD off the side. I like I can pick the whole thing up with one arm and carry it about. I do also build iOS apps on occasion. If I were to guess, I'd bet the thing paid for itself in productivity gains in < 1 year. But that is me, might be very different for others.

Collapse
 
roguedev9 profile image
Abhishek Kasireddy

Can you really pick up your iMac with one hand tho?

Collapse
 
miketalbot profile image
Mike Talbot ⭐

Yes! :) Can't say I carry it that often, mostly GameJams or something like that. I have a MacBook as well, but it gets very little use. Since Covid -> no coffee shops for my MacBook!

Collapse
 
wobsoriano profile image
Robert • Edited

Count me in. I am so productive with my Mac.

And also I need it to build ios apps (don't tell me to hackintosh please)

Collapse
 
galoiswannabe profile image
galoisWannaBe

As I understand it, you CAN build iOS apps in Linux with an iOS device... I haven't learned Swift to the point where I can, but I understand it's technically possible and NOT a hackintosh, lol!

Thread Thread
 
wobsoriano profile image
Robert • Edited

Hmmm. Not sure about that ✌️Can you link me to a source?

Thread Thread
 
galoiswannabe profile image
galoisWannaBe

medium.com/flutter-community/devel...

That article covers how to do so in Flutter, it looks like you're probably WAAAY better off just using a Mac, however.

Collapse
 
explodingwalrus profile image
Carl Draper

But those are hardware related reasons. You can buy similar hardware and run Linux or Windows on it.

Collapse
 
miketalbot profile image
Mike Talbot ⭐

"I like MacOS, it makes me more productive"

I am more productive on a Mac than on Linux or Windows. I've used them all. You might not be more productive on a Mac, but I am.

Why would I want to save money on the tool that I use to make my living? Why would I compromise any moment that I might be able to concentrate and do my job to the best of my ability. It's like telling a guitarist that there is one "best" guitar - of course there isn't the same best guitar for every musician. But there is quality, I've owned dozens of PCs and they always break or fail. I've only once had a Mac fail and it's because I broke it. A decade old machine is sitting next to me - still running smooth and quiet. Can't remember the last time I had a system crash. Literally years ago.

Someone will be fast at VIM, someone else prefers VS Code. For me a Mac is the ideal tool for my job, it works the way I want it to. It really does just work for me and it's super reliable.

Thread Thread
 
explodingwalrus profile image
Carl Draper

I dunno, maybe you chose cheap nasty PCs? My main desktop is a HP Z400 workstation, bought secondhand for very little money, it's from 2009, that's 11 years old! - and it still works great as my main desktop machine, running Linux.

Thread Thread
 
miketalbot profile image
Mike Talbot ⭐

No, as I pointed out, computers are my primary tool, I always try to get the best kit.

It would be fair to say that I spent only about a 6 months running Linux stuff as a desktop, and like many use Linux day in/day out on servers and VMs.

I'm happy Linux works for you, it doesn't work for me as well as a Mac. I ran a software company with a Windows based product for 15 years, that was a lot of PCs. Can't say how grateful I have been that the last 10 have been on a Mac.

Thread Thread
 
explodingwalrus profile image
Carl Draper

I use old Macs for music production but i wouldn't touch any newer than around 2012, after that, they have become less upgradeable, throwaway items.

Thread Thread
 
moopet profile image
Ben Sinclair

Why would I want to save money on the tool that I use to make my living?

Anyone who doesn't have a high income is going to have a good answer to that.

Collapse
 
jay8142 profile image
Sir Broddock

I was faced with this decision about 4 years ago, and I have to say that I am more than pleased with my choice. I spent a lot of time researching building a hackintosh, which I REALLY wanted to do because I was in love with macOS at the time, but in resignation that I couldn't do anything to build it out or expand it going forward I went with win10.

Long story short, it's been fantastic. I pined for unix once again, naturally, and now I run manjaro through virtualbox. I have 32gb of ram and I almost never clock that out even running the virtual machine nearly all the time for dev work. It couldn't be better, frankly. I can expand storage, memory, everything. This is a great PC that will last me years and years now, and I spent less than 1500 including peripherals. I would've had to spend close to 4k to get the same specs here in a macOS, and at the end of the day my workflow is 100x that which it was in macOS.

I thought there would be so much that I missed about macOS, and there is literally just one app that I use for learning on my 2012 clunker macbook pro. Unless you really REALLY have something you need from macOS then stick with it, but try running linux from virtualbox and I am certain you can find open source for nearly all of your needs.

Collapse
 
drmandible profile image
DrMandible

I've never understood how software devs can have so much trouble with windows. I've used it for years and have never had more than a few minutes of downtime. And even that was my fault for letting it do the updates instead of waiting.

I build my own pcs, meaning I choose the right parts for my build. Can easily build a more powerful pc for half the cost of a Mac. Plus Microsoft owns github and VSC so I'm getting first class support.

Collapse
 
blindfish3 profile image
Ben Calder

Depends on context. In the earlier days of nodeJS based web development, Windows was a total nightmare to work on. It was working around those problems that got me into Linux. I suspect it's why a lot of frontend web devs started using Macs; but I never understood the appeal.

Collapse
 
soundwavex81 profile image
SoundWaveX81

I've tried to work with some geographic projecttion libraries (gdal, pyproj) on windows a few years ago. Finally, after a couple of days trying to put all the pieces together (specific versions of multiple libraries to work with python on windows) I was sucessfull!, ok well, I work for a week or two in my project, everythings fine.. suddenly my hard drive fails... ok. So I have had got to go through that install hell of packages..., so I've tried on debian (that time, today I have Arch) apt install that stuff.. that other.. about 2 hours to get everything working fine. And from that time (2012/13 may be) i'm running all my code projects on GNU/linux.

This year I'm start thinking to buy a mac, just because, but certainly the price is a big no no to me.

Cheers.

Collapse
 
drmandible profile image
DrMandible

A hard drive failure almost certainly has nothing to do with windows. Nor would the compatability of specific python libraries.

But if we're talking about compatability, windows is the largest desktop computer operating system (77%). So if libraries aren't considering windows dev environments, I believe that's a failure of those libraries.

Thread Thread
 
siy profile image
Sergiy Yevtushenko

Windows popularity has nothing to do with quality nor convenience for development. Any serious non-windows specific development constantly requires adjusting environment to make it closer to unix-like one. Even microsoft realized this and added WSL. So, unless there are very strong reasons to use windows, using unix-like system is just plain more convenient. And a pleasant bonus for Linux users - very simple and convenient maintenance and upgrade of system and all applications.

Collapse
 
siy profile image
Sergiy Yevtushenko

I never understood why software developers ever might need windows unless they develop windows apps.

Collapse
 
tavy315 profile image
Octavian Matei

I never understood why software developers ever might need mac unless they develop macos apps.

Thread Thread
 
siy profile image
Sergiy Yevtushenko

This case is quite simple: mac is best choice for those who want development convenience of Linux, but afraid that Linux UI is too complex for them :)

P.S. Mac is not ideal for development, but much more convenient than windows.

Thread Thread
 
metalmikester profile image
Michel Renaud

The Linux UI (I assume you meant the GUI, not the command line) really feels antiquated and even ugly and it's kind of a pain to look at (I'm typing this on a Linux laptop). If I'm going to stare at something all day, I like it to be somewhat pleasant-looking. Still much better than when I started using Linux in 1995, though. :)

I find that some development can be more difficult on the Mac than on Linux for some things because installation is sometimes hacky, like a user-contributed version that's not officially supported. I've had this happen a couple of times in recent months. In one instance I had to give up because I was wasting too much time trying to work around the problems.

I use Mac, Linux and Windows every day, so I find it hard these days to get into a religious war about platforms. Ultimately the choice should be whatever one is most comfortable with.

Thread Thread
 
harken24 profile image
Jozo

Not sure about that, I'm using debian buster and with few tweaks it looks really nice.
Also there are distros like PopOS, Manjaro and others who look awesome.

Thread Thread
 
metalmikester profile image
Michel Renaud

Well, that's the thing with Linux: so many distros. I wish I had time to mess around installing distros all day, but I don't. And you never know if your favourite distro won't just disappear (as in no further updates to whatever niceties it might bring) unless it's one of the big-ish ones.

I'm using Linux Mint at the moment. (Well, not this VERY moment - right now I'm using a Windows 10 VM hosted on Azure).

Thread Thread
 
katafrakt profile image
Paweł Świątkowski • Edited

Well that's the thing with cars: so many makes. I wish I had time to try out makes and models all month, but I don't. And you never know if your favourite make won't go bankrupt. That's why I don't own a car. Oh wait...

There are so many thing Linux can be accused of. But having a choice is just not one of them.

Thread Thread
 
metalmikester profile image
Michel Renaud

Crappy analogy, and you completely missed my point. sigh

Thread Thread
 
patarapolw profile image
Pacharapol Withayasakpunt

I think Pantheon UI is quite polished (Elementary OS), but still, it is more geared towards keyboard users; but then who the hell need Desktop Environment anyways. CLI these days is quite powerful enough.

Unless you need a JavaScript/CSS/HTML powered web browser.

Thread Thread
 
metalmikester profile image
Michel Renaud

I've heard of that one but didn't get a chance to check it out.

It is certainly interesting that, even though GUIs are more powerful and flexible than ever, there's been a move toward the command line for a lot of development-related tasks. "ugh... Don't feel like finding it in the GUI, I'll just type the command". Even when developing .NET Core stuff in Visual Studio, I'll often type commands to get some things done.

Anyway, I use all three platforms and have likes and dislikes for each one of them.

Thread Thread
 
bloodgain profile image
Cliff

The Linux GUI is ugly and antiquated -- what? Aside from the fact that there isn't a single Linux desktop environment, I'm using Fedora with the default, most popular DE, GNOME, and it looks perfectly modern to me. It has all the modern visual design elements that Windows and MacOS have and does all the fancy window docking tricks (in fact, some Linux DEs have supported that far longer). And it's very easily customized with themes and icon packs, frankly much more easily than Windows. Ubuntu, the other big distro, uses a customized DE that I believe is based on GNOME as well. But if GNOME isn't to your tastes, they have direct support for another half dozen DEs out of the box as "flavors" of Ubuntu, several of which as also quite modern.

Thread Thread
 
ggichure profile image
ggriffo

Used Ubuntu but found it "heavy" and switched to Kali it's been 3yrs now .

Thread Thread
 
bloodgain profile image
Cliff

I haven't tried Kali. I'm using Fedora mostly because all the systems I use professionally are Red Hat, and I often find myself needing to test something at home and/or advise the IT folks about how to install or configure something.

I thought Kali was mostly only used for security testing or similar gray-hat work. I didn't know many people used it as a daily driver.

Thread Thread
 
hpmtopkek profile image
Heaven Piercing Man

Linux GUI, antiquated? Are you still on GNOME2, KDE4, LXDE or some niche text mode tiling GUI? I mean even XFCE becomes modern with a dock and a theme. Throw in a global menu and it's perfect Mac refugee territory.

Thread Thread
 
maxdevjs profile image
maxdevjs

I never understood why software developers ever might need to choose a Linux distro based on the look and feel when they can install basically what they want in any distro.

Just kidding :D

Collapse
 
bradtaniguchi profile image
Brad

I'm someone who slaps Linux on any PC that I want to development on. I have developed a bit on Windows and while its totally workable, and makes sense for some context, Windows just gets in the way in others.

From dumb stuff like the 260 character limit (which was finally removed), and the speed and "unique-ness" of its terminal powershell, to more serious problems like tooling not working or compatible with Windows out of the box such as Docker Desktop, which doesn't work on all versions of Windows.

The last thing I want when I'm trying to be productive on a project is the operating system telling me what I can and can't do, or finding something doesn't work out of the box simply because it wasn't built with Windows in mind.

PS. I don't use a mac because I'm too cheap to pay for their premium products when Linux is free.

Collapse
 
maskedman99 profile image
Rohit Prasad

I don't know what extra support you get with github on windows, the underlying core of github, gitlab and similar services is the git version control system, which was initially created to help multiple developers contribute to Linux.

Collapse
 
galoiswannabe profile image
galoisWannaBe

Some to think of it, I've had a WAAAY easier time with git on Linux! And C++...

Collapse
 
galoiswannabe profile image
galoisWannaBe

Honestly, for me, Windows updates (I've had to nuke my two Windows PCs about 3 times each because of updates), having to juggle with WSL to get many things done and not being able to just install all the things in CMD are enough for me to not want to go anywhere until Windows, until I'm playing Steam games. Another thing that messes with me in Windows is that my Asus ZenBook is crippled in Windows due to the Specter/Meltdown fix.

I can't understand why people flock to Macs, but Linux/Mac are better for most people, since most programming happens for Linus/Unix platforms. I use Linux because I can just use it! I can do just about everything from the terminal (outside of the actual coding; I'm a VIM noob, for sure), but I guess it also offers me some consistency between my desktop and laptop, since I use a Pixelbook for my laptop.

Collapse
 
muth0mi profile image
Oliver Muthomi

Git ain't GitHub.

Collapse
 
galoiswannabe profile image
galoisWannaBe

That's a fact that I usually overlook. In terms of my experience it is, but then, to many other people Samsung IS Android, so... I'm definitely going to be more careful about this, from now on! I never even thought to check, before now, if other VCSs were supported by GitHub!

Collapse
 
quasipickle profile image
Dylan Anderson

I had an Intel NUC and had nothing but problems. Poor performance and random restarts plagued me the entire time. This, despite the fact the specs were amazing. It's entirely possible I got a lemon - but I sure got a sour taste for the NUCs.

Collapse
 
jeremycmorgan profile image
Jeremy Morgan

Entirely personal preference. If you want to develop IOS apps, yes you need a Mac (to do it legally).

If you want to be a web developer or any other kind of developer, no, you don't.

A few notes about price:

I purchased a Mac Mini back in 2012 and it's still chugging along today. You can certainly get better hardware for the same price. However keep in mind that Macs are 100% designed to work together as a unit. All of those parts are hand picked and put together with sturdy electronics, tested heavily to work with each other, and OSX is built especially for that hardware. You truly are getting a more reliable system.

Does this increased reliability percentage (whatever it may be) justify the cost? That's something only you can answer.

For the developer world I think the biggest competitor that can unseat Apple is System76. They provide that same tested solid ecosystem, only using Pop_OS! Linux. If you want that carefully crafted supported hardware feel at a better price, they're the way to go.

Personally I bought a Digital Storm system which is about half the cost of the equivalent Mac Pro and put my own Linux install on it and dialed it in. Though I did seriously consider a Mac Pro I got a lot more performance bang for my buck this way.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

I have a built hackentosh and I'm scared to turn it on. Here's why: it's a lot of maintenance to keep everything running smoothly, updates require research and not everything works even if I did build it to spec. What I should do is format it and get a nice copy of elementary os and move on. But at the same time I'm proud of the pain in the ass it was to build.

Collapse
 
pabloabc profile image
Pablo Berganza

I've had the same iMac for the last 7 years and it still runs like new. Can't say the same about my PC which I got at about the same time but stopped being useable like 2/3 years ago.

Collapse
 
tavy315 profile image
Octavian Matei

Same specs, same money?

Thread Thread
 
pabloabc profile image
Pablo Berganza • Edited

You got me there. Yeah, it was around the same price when I bought them, but it was a refurbished iMac. The PC was for gaming mostly, so I topped it up a bit.

Collapse
 
xowap profile image
Rémy 🤖

I guess a more appropriate title would be: "Unless you work with people trapped in Apple's vendor lock-in you don't need a Mac and especially if you don't want to be trapped at the mercy of Apple which is doing increasingly stupid things you should never ever get a Mac"

Collapse
 
osnibjunior profile image
Osni B. Junior

For a few months, I also opted for Linux. But for some time now, I've seen Microsoft struggling to bring developers back to its side. I decided to try it and I don't regret it, I've been on the Windows side since then

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