Ask HN: Linux vs. Mac for Developer
So I'm planning on picking up a new laptop reasonably soon since I'm on a 2014 MBA which is showing its age.
I really like my Mac and I'm somewhat tied into the ecosystem as I have an iPhone as well. I enjoy the availability of software, and the good screen quality.
On the other hand, I'm concerned about the build quality issues which seem to be plaguing Apple's products. I'm a full-time dev who works from home and don't have a company provided machine so reliability is a big deal to me.
I've used linux in the past and primarily used Ubuntu before moving on to Elementary OS as a distro.
So what's your opinion? Should I pick up a regular laptop and just install linux on it? Or take a chance on a macbook?
Budget is probably £2000 GBP - enough to buy a well-specced MBP 13" or with a stretch, a regular 15".
18 comments
[ 2.3 ms ] story [ 47.8 ms ] threadJames Turnbull had an article reviewing the XPS 13 last year. It is what I would recommend: https://www.kartar.net/2018/03/dell-xps-13-aka-2018-is-the-y...
The OS for development is really less powerful than Linux (like Docker consuming a lot of resources/battery, brew feels far from secure...).
A friend of mine use a Dell xps13 woth ubuntu fo development and it's far more enjoyable.
The only + for a MBP is the touchpad
Brew isn’t secure but that’s hardly the fault of “the OS” - it’s a third party tool written by people who actively embrace the insecure design of the tool.
I moved away from Mac due to issues with hardware quality, and also the poor quality of recent macOS release.
That said, I would rate macOS highly on it's usability for office tasks -- managing emails and calendar events, coordinating across different messaging platforms (iMessage is very useful), and so on. It's also best among all the platforms, in my view, with respect to consistency of UI across different applications.
If you're expecting tight integration and consistent UI design across a variety of (GUI) applications, you will likely find Linux (and BSD, for that matter) to be disappointing.
On the other hand, Linux is generally more pleasant to develop code on in my experience. This somewhat depends on your language of choice, but lots of tools are written for Linux first and ported to other platforms like macOS later (case in point: Docker).
Linux hardware support is much better than it once was. With a careful choice of laptop, you can get a fairly recent machine that will have working 3d acceleration, wifi, and suspend/resume out of the box under modern Linux. In many cases, I have found the hardware support of Linux to be better than that of macOS (I had a lot of trouble with suspend and resume on my last Mac, as an example).
I would suggest running Linux in some capacity (VM, dual boot, etc.) for a while to see if you like it and if you can make it work for your use case before dropping a lot of money on it.
I will say, having once owned (and now sold) a touchbar MBP, I would not recommend any of the models in that family at any price point.
What is your current developer environment on macOS?
Linux is really great when it works, but as a general use computer, it is no match for Mac or Windows. If it's just for work, sure. If it's also your main computer it can be a bit of a bummer as far as software support.
That leaves Windows. My Windows desktop has been really solid, it's cheaper, more powerful, tons of software, and it has the Linux subsystem. I generally prefer the tools for development on the Mac, and would prefer if I didn't feel the need to switch. Not that you would want this feature either, but Windows supports MST no problem. I don't know that my Mac ever will.
The build quality is fantastic. The keyboard is punchy. The display is pre-retina, so not great, but I'm used to it. It's only noticeable when I see someone else's newer laptop display. Battery life is only ~1.5-2 hours, but I'm plugged in mostly.
First 5.5 years, I had macOS installed. However, with OS updates, starting around Sierra (10.12), the machine became unusably slow.
Last 1.5 years, I've been running a mostly vanilla Lubuntu 16.04, upgraded to 18.04 recently. Most things worked out of the box, it was still an adjustment. A few notes:
- Drag-and-drop isn't as nice. So I use an external mouse now.
- External displays have to be manually added after plugging in.
- It was hard to do without Spotlight for a while. Linux alternatives were too heavy for my machine.
- Mostly I deploy Python to Ubuntu Server, so keeping a similar dev environment is a breeze.
- Have not gotten bluetooth to work yet, but haven't tried very hard either.
- At the moment, I wouldn't go back to macOS or Windows. I'd keep making small dives into the linux ecosystem to solve my problems.
If I needed to buy a new laptop and didn't need any heavy-lifting, I'd look for one of these older, linux-tested, macbooks and install a lightweight linux distro.
things may change in macbook 2019 though
The hardware quality is also among the best.