loading...

You Probably Don't Need a Mac

sgolovine profile image Sunny Golovine ・3 min read

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.

Posted on by:

sgolovine profile

Sunny Golovine

@sgolovine

Mobile + Frontend. Specializing in React + React Native

Discussion

pic
Editor guide
 

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.

 

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

 

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

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.

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.

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.

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).

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.

Crappy analogy, and you completely missed my point. sigh

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.

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.

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.

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

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.

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.

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

 

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.

 

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.

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.

 

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.

 

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.

 

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

 

Windows with WSL is actually very viable for many kinds of software dev, and I use it happily for C and Go systems programming, and web development. That being said, the native Python toolkit for windows is... not great. It's burned me enough times that I flat out refuse to touch Python for Windows ever again, I'll just run it in my Linux vm tyvm

 

WSL would be the only reason I would be ok with 'developing on Windows'. I haven't touched this in a while, but my experiences were

  • a shitty git integration where I had to use some GUI, I didn't like
  • having to download installer files instead of typing apt/yum install for every single piece of SW
  • a really slow file system (tomcat needed 3 minutes to boot as opposed to 40 seconds)
  • non working docker
  • and some other inconveniences

With WSL I would basically build a Linux environment with Windows GUI. Since I am perfectly fine with the Gnome3 in Ubuntu, I have next to no reason to switch back.
For me Windows is a nice gaming platform.

The only way I'll use Git on Windows is Git Bash. I hear some of the GUIs are nice, though, like SourceTree, SmartGit, and GitKraken. It sounds like maybe you got to experience TortoiseGit, which I hate. Tortoise was usable for the old CVS style VCSs, but it's too clunky for a modern one.

I think it was tortoise. But that is not really the point. I would have to install Git Bash, whereas on Linux I already have a bash (zsh, fsh, etc.)
I suppose windows is the best when developing Desktop apps for Windows. For Web, mobile devices etc. I prefer to chose a *nix system.
Currently I am working on a Mac (and not really loving it).

Git Bash is part of the regular Git install. It's basically the equivalent of installing Git on a Linux system that doesn't have it. And often to get zsh or fish, you'd have to install those, so it's pretty similar. It's based on MinTTY, and is actually pretty good. It requires some configuration, but I have to do that for every *nix shell I touch, too.

I don't disagree. I'll take Linux all day every day for development over Windows. And it's telling that the best way to do a lot of development on Windows is to steal good ideas from *nix. I'm just saying it's not all bad.

 

WSL is a nice step forward, but is still lacking. They only recently announced planned support for Linux GUI-based apps. NVIDIA doesn't allow virtualization on consumer graphics cards (i.e. GTX/RTX series), so that's a barrier to a lot of things.

When I can basically have Windows on a Linux kernel (or dual kernels, however that would work), I'll be happy with Windows for development. It's a perfectly nice user environment, and I use it on my HTPC/Gaming rig, but it's often a hassle for getting real work done.

Side note, always go Anaconda for Python. Solves a lot of problems up front, even on Windows. Also try the PyCharm IDE from JetBrains. I also hear the Python plugin for VS Code is good, and it has support from Anaconda now.

 

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.

 

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.

 

Git ain't GitHub.

 

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!

 

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.

 

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

 

"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.

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.

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.

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.

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.

 

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)

 

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!

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

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.

 

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

 

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!

 

A comparable flagship laptop in both Lenovo (ThinkPad) and Dell (XPS 13) will cost you around the same price as a sanely-specced (i7, 16GB RAM, 512 SSD) MBP. All of these laptops will run you around $2,000~, give or take.

People always compare spec-to-spec with Windows and Linux, but with Apple, you have to remember you are paying an upcharge for superior build quality, first-class app support, the ecosystem, native software, and guarantee of data privacy.

 

Superior build quality and guarantee of data privacy...you sure about those two?
I mean yeah macbooks are pretty elegant but lack of ports and constant overheating is a bit of problem.

 
 

On my desktop sits a macbook air (used only for testing on Safari) with the infamous butterfly keyboard... you can't imagine how much i hate that "superior build quality" keyboard.
For data privacy in linux you can encrypt your hd. No one can unlock it without credentials, you don't depend on Apple/Microsoft/Google/etc.. for you privacy right

 

The new lineup of Mac's have entirely purged the butterfly keys, I'll agree with you that those were not superior in any way shape or form. However, the sturdiness and machining on the rest of the laptops, especially now with fixed keyboards, are unmatched (in my opinion, I understand that is relative).

You can also encrypt your HD on MacOS is well!

Also, as a web developer, it's difficult to beat out simulator for testing ALL the possible iOS devices in an almost-native-like environment!

 

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?

 

A standard "settings" shortcut.

On MacOS, the cmd + , will always open the settings.
On every other desktop, it won't, and that's pretty annoying.

I sadly have yet to find anything else I'd want

 

You said that sarcastically, right?
Because if you have ever customized linux you would know that you can even set a nuke to fire on any keys you want, LoL

😂 😂 😂

No, I said that seriously.
Sure, I can tweak any linux software to use a single key for settings.
But do I really want to try to re-tweak every software I use for this?

In MacOS, it is a standard, so it's always this key by default.

The argument isn't in the feasibility, it's in the comfort.

You mean it's familiarity.

 

Obligatory relevant XKCD link:
xkcd.com/378/

Yes! Butterflies, that's the only true way.

 

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.

 

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...

 

From frontend engineer point of view:

Linux cons:

1) Sketch (Yes, you can use Zeplin, but it's horrible), though many people prefer Figma these days
2) Sometimes you need a Photoshop to make some image manipulation (PS with Wine works horribly)
3) 4K-5K resolution scaling doesn't work well in Ubuntu (other linux flavors doesn't either i bet)
4) Obviously no integration with apple ecosystem (continuity, etc)
5) No proper backup system, like Time Machine out of the box
6) Font support not that great if compare to MacOS
7) No software like Alfred, iTerm

The list can go further, but i would stop there. There's only single advantage on running linux, is docker virtualization that eats less ram, but if you got at least 16GB ram on Mac, then you'd be fine. And Mac "just works" out of the box, linux doesn't, you have to chime with settings before you can work. Updates are painful on linux.

Mac downside is only the price, but you have to pay for the comfort. It's like you can ride on an old car, but it would be a terrible experience, you will face issues with breakdowns, etc. Mac is like a reliable car, you buy it, then you just can drive it, without any setup.

P.S. i was linux fan, when i couldn't afford a Mac 10 years ago. That's the main reason people hate apple products, if you can't afford it - you scold it. Mac machine justifies every penny invested in it, honestly.

 

I have a macbook and a thinkpad running Linux, here are my thoughts:

1) No idea, don't develop front end
2) GIMP works pretty well for light editing, has a learning curve though
3) I think KDE would scale quite nice with it though. In fact macOS looks weird on my 1080p monitor for some reason.
4) Not using other apple products besides my macbook, but KDE connect works well enough for me on android
5) There's timeshift though
6) Works well enough in KDE
7) I have Alfred3, and the only benefit I see from it is maybe the scripting capabilities, which you can often manually write scripts to automate tasks anyways. iTerm is just a terminal, there's so much great terminals for Linux such as kitty or st.

Though I do have to point out I'm just a university student so I have more spare time tinkering around. For people working I guess there's no value in manually setting up your own environment.

 

You got the point. Its all about the time.

This is a common argument - that you can be up and running quickly on a Mac. I think it's wrong, because it's mostly familiarity. It'd take me as long or longer to get my MBP up from a factory reset as it would my desktop.

 

I hadn't installed Linux myself in over a decade (though I use it regularly for work), but I recently installed Fedora on an older PC after replacing a failing SSD. It was faster and easier than any of the numerous Windows installs I have done, and those weren't hard. It's all automatic now. So are updates. No pain at all. It's all handled for you by the Software manager, though you're also welcome to use yum or rpm if you prefer the hands-on approach.

I could buy a new Mac every month and donate the "old" one, no problem. I still think the Mac premium is a little too high. I'm not saying they don't deserve a premium, but getting a Mac with upgraded CPU, RAM, and storage is absurdly overpriced and has been for nearly 20 years.

I'll give you the scaling thing, though. Maybe another DE than GNOME does it better, but scaling options are rather limited. Windows 10 does it much better, which is quite sad. It looks fine, but only having 100% or 200% scaling as options is ridiculous in 2020.

 

There is also zoom con. For some reason mycoworkers, all on linux, constantly have video/audio/screenshare issues. Every day someone else has issue ;)

... to the point that i started calling it "you are linuxed".

 

Meh! I couldn't wait to get rid of my MacBook Pro! And, aside from the potato webcam and 1280x800 resolution, its hardware was pretty good! It was a late 2012, so the keyboard was still great, once I got used to the slightly smaller keys than I was used to. I just couldn't use it quickly! It was drag and drop for this, that, and the other! Kill the SSD! (Well, not really, I was able to use it as a boot disk for about 6 years after that in a Windows machine) Middle Click? You're lucky to have a right click! Oh you wanted to be able to snap your windows to the sides of the screen for multitasking? Lol!

So, I'd ended up dropping $300 on an Asus Transformer Book that replaced it AND the iPad (until I had to use OSX or iOS specific software) and never looked back until the MacBook (the one with the Core M) came around, with pretty much the exact sort of hardware config I wanted... until it pointed me towards the Zenbook (with Core M3) because of the keyboard... and I saved like $500 in the process, but not because that was the primary driver of my purchase.

 

Lol...don't even know what to say about this hahahaha

 

I've only used Time Machine once, and the experience was pretty bad. The UI is confusing and badly built.

 

Yes, Macs are expensive, but it really depends on what it's worth to you...
I have all three, MacBook Pro, a beast PC running Windows and another pretty nice machine running Linux all of which I've tried developing with.

As a generalist developer, I'm always finding myself going back to my MacBook Pro. For me personally, macOS is just a hard OS to compete when it comes to large scale development. Not only everything just "works", it also supports the best tools in the industry such as the Adobe suite, Sketch, etc...

If money is the problem, then it really depends on your point of view. You have to ask yourself "does this machine make enough income for it to be worth purchasing?", for me it does. I paid $3,000 for my MacBook Pro, but over time I used it to make over $200,000 in 2.5 years.

 

Basically it depends what you need to do. I have all three - Linux for general use, Mac for music production and Windows for games.

 

Yup. I'm using my Mac for general use (programming, music production), Windows for gaming and procrastination and Linux as a local staging server 🙃

 

I have been on the fence about this for a while too and I also chose to mostly go with a Linux machine. I am starting to develop apps using Flutter for Android/iOS but just can't justify the cost of the hardware and being locked into the ecosystem. I eventually settled on a combination of real iOS devices and a cloud build solution and this is working out quite well so far.

Have you tried the Windows Subsystem for Linux? Seems to work really well as a combination of being able to use windows tools and games while still get access to Linux software and tools.

 

I've used WSL, but it annoys me... but that might just be because I'm too much of a Linux noob... or because Windows does weird things with Ubuntu in WSL that aren't done Ubuntu... Kinda like Debian in ChromeOS, except Debian in ChromeOS usually feels better to me... once you get used to translating things from Debian/Ubuntu to Debian in ChromeOS, anyway... neither's a real substitute for the real thing...

 

I think it is probably a bit of both lol I am no Linux expert but WSL1 always seemed a little quirky in places.
I have just spent 6 months using Linux as my main OS on all my computers to help understand it better. I needed to switch back to Windows to test some stuff and was able to bring all my dot files and configs straight into WSL2, and set up my environment basically the same as main native set up.
I don't know if this is because WSL 2 is basically a lightweight Linux VM (compared to WSL1 basically being Wine in reverse) but I was shocked at how well it worked.

 

I switched to Mac after an experience in college using a poor quality windows laptop and had used it until just recently. For work I have a separate laptop, Mac as well (company issued)

Things have changed considerably in quality since 2013 when I had these windows issues 😄 so I wanted something new (and arguably needed more mental separation from work and home environments) and got a surface laptop 2. I haven't had any problems with it so far other than, imo, minor adjustments. I thought it would be the closest to Mac, in that it has Microsoft hardware and software...fingers crossed it lasts me just as long!

Having WSL helped me when I first bought it, but I decided to dive in and make windows my primary development environment after seeing how poorly VSC on WSL behaved; powershell is also pretty cool, and I'm fighting the instinct to default to bash and attempt scripts in powershell 😃

 

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.

 

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

 

I don't like windows. So, after using Linux for over 10 years i bought a mac. I stayed with it for two years, sold it and now i have a Linux again running on a Dell i7 16GB Ram and i couldn't be happiest. Some of my reasons were:

  • homebrew does not compare to any linux package manager
  • having to keep creating workarounds to get rid of things that come by default on the mac (php, ruby ​ and others) usually create conflicts in the environment
  • poor integration with android
  • there is no total control of the system, even if I don't always need it, it's an idea that makes me sick
  • installing some things seems unnecessarily complicated (like docker, sql and mongo), and in some cases it installs a GUI to manage mongo, sql and docker (?) in an attempt to make this task more friendly

Strengths:

Sketch.

 

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).

 

Cloud and web technologies have come a long way. This year I moved from having a high-end Windows gaming laptop and a Mac Mini (and previously owning only a MacBook Pro) to just having a Chromebook. PWAs are awesome. I use Photopea for image manipulation, Visual Studio Codespaces for web and mobile development (you can self-host an environment or use Azure), and Shadow for gaming. I have a 300 GBP Chromebook (excl VAT) and the battery life while doing these tasks are immense, the touchscreen is nice and high resolution and I can't be happier. I do have an unlimited data phone plan though due to the need to be able to do these tasks while traveling, but ChromeOS integrates so nicely with Android that you can share internet with zero hassle.

It's also important to note that ChromeOS devices are immensely secure and can run Android and Linux applications.

Most of the time I'm surprised at the value I get from this machine, as I have three virtual desktops going most of the time for work relating to two companies and my own personal stuff.

 

I completely agree, I have been using a Chromebook as part of my core devices for the last 4 years. With everything in in the cloud I can jump from device to device without having to maintain a bunch of dev environments. I have a Mac, PC and a Chromebook and honestly I really enjoy ChromeOS just getting out of the way.

Having remotely hosted containers for development has greatly streamlined my development process, especially when it comes to collaborating with other developers. Now with VS/Github Codespaces and Gitpod the setup has become so much easier.

I also enjoy having my development environments located in the same data centre as my data, the transfer speeds are crazy fast, something that I didn't appreciate until I recently moved to an area with rubbish internet.

 

Considering how much time is wasted on linux, i would say the cost of mac is recouped very quickly. Same goes for hackintosh - you need to have a lot of free time and expect issues if you go that route. I would say, the best deal now is the mbp 16”.

 

I have used Windows, Linux and macOS both for development and personal usage. I don't want to make a breakdown or to say one is better than the other two. To be relevant to the macOS topic, I say that:

  • Mac's trackpad is something divine;
  • Retina displays make a huge difference;
  • The stability of the OS is really great.
 

As Linux user for 5 years and then switched to Mac , I’m gonna tell you it’s overpriced. I develop on it only because I can’t build iOS apps on any other platform.
One thing is for sure font on macs are just amazing!

 

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"

 

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.

 

I use mac because:
1- More convenient than windows and linux (UX)
2- Battery life is much much longer than windows based pc
3- It is beautiful 🙈

I have a pc with windows, I only use it if I have some only windows project 💻

 

I've been using a Chromebook for two years and it's all I've ever needed.

infoq.com/articles/cloud-based-dev...

 

Thanks for this article! Was not aware of gitpod - really smooth. (In the middle of 3 months test / POC , trying to only use a chromebook as main driver. Was using the Linux vm/container, but was looking for how do I completely avoid that.

 

Good to hear it was useful. It's worth spending a moment to configure your .gitpod.yml config file to make the experience seamless. Things like port settings, custom Docker image, automatically preparing environments for PRs etc.

Also, you can use mikenikles as a coupon code to get 30% off for three months if you decide to continue using it.

Lastly, you can reach me via DM on Twitter if you want to discuss anything re: Gitpod.

 

MacOS by default has good UX for me. For Windows, it depends largely on the hardware vendor and plugins. Linux is easy to customize, albeit a lot of hardware issues.

So, Windows is OK, if you buy from a good company. Hardware is always well supported.

I really prohibitive about MacOS IMO is Xcode and gets bigger every year. (Just reserve 15 or 20 GB on a 128 GB MacAir). discussions.apple.com/thread/25071...

I also have seen a Windows prohibitively slow -- installed an Ubuntu. Everything solved. Never touch Windows again. Again, largely dependent on the vendor.

What's always good about macOS is support and defaults, but if you can get good Windows support, I would recommend it. Linux? Not recommend, especially if you want to install MS Office and your corporate software.

 

I have a MacBook and a Linux desktop for work and a Linux at home. I much prefer Linux. And the cost is ridiculous. I feel like like people are paying a thousand dollars for the glowing logo and the privilege of renting a bajillion gigs of hard drive to run xcode.

 

What's missing from this too is that Mac probably implies Mac OS, and it's a total hog. Run linux on an apple computer and things will feel so much faster. You can buy cheaper hardware and run linux and still get the same performance.

I switched from Mac to Linux, because I installed Ubuntu on my mac one day and realized how much more performance I could get out of my hardware. On my second XPS13 since 2015 now and not looking back.

 

A mac is a status symbol and nothing less IMHO. Unless you need XCode, it is the inferior machine in most cases dollar for dollar. Yes they look pretty, but they tend to stay behind the tech curve...there is a refresh now and again, but they come slow and at a hefty price. Linux or Windows machines are the better choice for all around development. Unless of course you need XCode as mentioned above. Now I will run and hide as all my Mac using brethren bludgeon me. I love you guys, I really do.

 

Tricky question.
My personal opinion is that, you need a MAC if you work with videos, because it is superior in video cutting, rendering and encoding. For design and graphics (hello adobe & affinity) still a very good choice.
But for development. If you have to produce software for osx/macos/ios... then for sure, no better option.

If you need raw power, then there are way better and cheaper options in the classic PC world.

[tl;dr]
I used mac when it was the white-bumpy-plastic and it was great. Then I switched - because of company policies - to PC, Linux, Windows ecosystem. Everyone claimed, all the pro-office machine are glorious, but all of 'em was overpriced. A lot. Near it, during time, the quality dropped brutally.

Then when I switched back to consultancy, I bought my first gaming notebook. It had great quality and raw power what compared to desktop performance (i7, 4 core, 8 thread).
It had good dedicated VGA, so video cutting and encoding was not a problem - naturally, the process (rendering, encoding, decoding) was way slower than on MAC.

Then after a couple of years (6 tbe) I bought another one. And did not feel bad about it. It was not cheap, nor expensive (around 1300usd) but I got great amount of power, what came handy if I run several docker instance or working with virtualbox and other performance eater thing.
[/tl;dr]

The real question is, how much conversion do you will realize with MAC? I would like to quote one of my ex-collegue, who went for full time designer/graphic. He bought a pretty expensive macbook pro, and an expensive Wacom digital table. When everyone asked him, why he spend so much money, he just replied: "Under three month I will earn that amount of money back, then the rest of the year will provide me extra cash.".

 

I'm web dev since 10 years ago. I had a MacBook Pro 13" with touchbar which costs 2006€ (a bit more if you convert it into US dollars) wich came with an i5 (of course not latest gen) and 8Gb DDR3 on late 2017. I repeat DDR3 and 8Gb. Oh and 256Gb SSD and shitty intel graphics.

That is intended to be a "professional" target so the software may do the trick, I think.

I sold this trash after 7 months and I get a Huawei that costs me about 650€ with a ryzen 2500u (which come with Vega graphics), 8Gb RAM DDR4 (of course) and 256Gb SSD M.2.

I immediately installed Elementary OS on it and I realized the following advantages:

  • Costs 1.356€ less.
  • Graphics are best for any task (including video render, photo edition and gaming a 15 yo game).
  • CPU performance is almost the same.
  • Docker performance is much better on Linux than on Mac OS X.

Laptops are not my main setup for development (I've a high end desktop for this, with a windows partition for gaming) but sometimes I need a laptop for many reasons and my preferred one is getting home tyred and throw myself over the sofa with my laptop instead going to the desktop and I'm sure that I'll never gonna buy a Mac again.

 

Well, you don't really need a i7 or a huge amount of ram. I5 with 8gb is more than enough for web dev. Also you don't really need a shiny new nuc you could go with much cheaper option. So it all comes to the question - how much are we ready to pay for our toys! Some will be happy with used $400 laptop, some needed latest and greatest and in most cases that is not performance they are after.

 

Windows is cool except for node-based applications.
Linux is heaven for developers.
Mac is needed for iOS developers (I've tried also Hackintosh but if you need constant updates is pretty hard to use).

 

If you don't need a laptop then a 2009/2010 Mac Pro is still a strong option. You can easily and cheaply upgrade to a 6 core (12 cores if you have a dual socket model), memory is cheap and it has standard PCIe slots so you can whack in a SSD and decent graphics card.

I have macOS and Windows running on mine so I can switch to Windows when I feel like a gaming session.

 

I really really doubt that you NEED an i7 to write react. The price you’re talking about is that high just because you WANT the 2000$ mac.
The $799 mac mini with a RAM upgrade ($999) is what you NEED. The ~$2200 mac mini is what you WANT.

 

Yup they're great, bought the 2019 13" Pro base model last october because I needed a machine to work on. Come end of May 2020, my 5 year old windows laptop had its ssd dead, so I replaced it with a spare(128gb is all I had, can't go out and buy a new one because of the pandemic). I decided to install arch linux in it and it's great. It's better than Mac because of some things like only the apps the you have installed will ever run on startup( ~50 processes vs around 500 processes on newly bootup Mac).

Though I miss some things that are only available on Mac, karabiner is one(still haven't found a way to have same config on xmodmap and sxhkd).

Another thing I would say about Mac is that their apps are beautiful, I have been in windows most of my life and just spending time on Mac apps, even the free ones, feels great. The down side is if you decide to work on Mac because of the eco system, not only will the laptop price tag will hurt your wallet but also the app prices.

Summary, if you're just gonna spend your time on FOSS, then money-wise, better get a linux machine.