Ask HN: Why do devs feel a MacBook Pro is required for development?
I'm curious why the trend over the past few years has resulted in engineers feeling like owning a MBP is a requirement? The vast majority of the tech startup scene seems to only tote around these machines and are very willing to defend their choice in hardware + OS. I often will hear the argument that it's impossible for them to be productive on anything other than Apple hardware running an Apple OS.
There are excellent text editors and IDEs available cross platform. Having a local dev environment that matches production is very easy due to VM software. Viewing the resulting product (most often a website) depends on the cross-platform browser, not a particular OS choice.
Would love to hear HN's stance and viewpoint on this peculiarity.
28 comments
[ 3.3 ms ] story [ 64.9 ms ] threadIt's especially painful (subjective) to, for instance, get a rails dev or any number of other environments up and running and it's really annoying to do some embedded systems work on macs. (I say this as someone who makes his living developing iOS apps on a mac right now btw)
Lazy people can just use the rails version preinstalled on macs (though that's like 2.something)
Now, I suspect linux is even easier for embedded work.
Really? I program in HTML5/JS, PHP, Java, C and Python, but also need to do multimedia work.
That is, besides doing web or desktop programming, you also need to create and/or embed to your work bitmap and vector graphics, stuff for print, edit video and music, etc?
Now, you might never have to do anything but pure programming with no multimedia, BUT, what about also using the same computer as a home computer? I for one would want to be able to edit my personal videos, watch any kind of multimedia with first class support, etc. I also have sequencing as a hobby, which requires stuff like Logic, Cubase, Live, Reason or Pro Tools.
Yes, Mac can be convenient for multimedia work but again not required by any means and for some projects the Mac does get in the way. (And yes embedded systems stuff is a lot easer on Linux than mac for the most part)
I often will hear the argument that it's impossible for them to be productive on anything other than Apple hardware running an Apple OS.
They have spent sometime learning all the keyboard shortcuts, going to a different OS, text editor, etc. means lost productivity until they retrain and catch back up. Any further than that they are being a prima donna.
I want a laptop. I hate everyone elses laptop hardware (more or less) and it's nice having the unix/bsd underpinnings available.
I worked for a long time on embedded linux systems and used windows as my dev environment. These days I do web stuff and I use a MBP. I prefer the MBP over all my windows machines. I could probably learn to love linux, even though I still have dark memories from the past. However, which hardware would I buy? I don't see any laptop HW I'd prefer or MBP.
Cory Doctorow's experience with Ubuntu on his X220: http://m.guardian.co.uk/technology/2011/may/17/computing-ope...
You're right though. If I were going to move away from my MBP I'd probably go with a Lenovo machine. Alternatively, I'd be interested in trying out the new Vizio laptop hardware and seeing how it feels. It could be crap, it could be awesome.
EDIT: As an aside, I do keep a windows machine around for gaming purposes and I still love windows 7... just not for dev-ing. Sadly, I only have time for a couple of games a year these days. Busy making stuff.
Some people like them, and some people swear by them, but the people who say they can't develop on anything but a Mac are asshats.
I am attracted to Apple products, but I don't own any because I don't want to spend the money and I am perfectly happy with a (much faster) PC running Linux. Developing for iOS might be a problem at some point, though...
For pure Java dev, I'll usually use Intellij on OSX. As I have to deal with more non-Java components, I'll move to the Ubuntu VM (still using Intellij for Java). Getting open-source components to install, compile and run just seems simpler in Ubuntu than OSX. OSX is familiar enough (Linux-like) so that I can work in it comfortably most of the time. But when I can't, I have Ubuntu nearby.
I far prefer this to a non-VM Ubuntu installation because having the Mac there is nice. Multimedia works really well (it's probably nearly as good on Ubuntu now, but I've stopped trying). And setting up networking (wireless, VPN) is still easier on OSX. It usually isn't bad on Ubuntu, but when I run into roadblocks, I just configure my VM to go through OSX.
This setup also allows me to move my VM easily across hosts, have multiple VMs running (e.g. use an old one, build a new one).
Finally, this is a minor point yet a huge one for me. Gnu Emacs on the Mac just isn't right. There are enough tiny differences to make it frustrating. One of the major irritants is the font. I've been using 9x15 with Emacs on various platforms going back many, many years. For me, it is the perfect font. After many hours of searching, I can't find it for OSX, or anything that even comes close.
What are the alternatives to MBP for me?
- Windows + VM: I just don't want to deal with Windows at all. I've wasted enough time on it. Absolutely will not consider it.
- Ubuntu only (on arbitrary hardware): I'd be open to considering it. My impression is that the entertainment parts of it (audio, video) are far better than a few years ago. This would probably be fine.
One last consideration: The Mac hardware is just so nice, and it's sturdy. I recently replaced a 5-year old MBP. It would have survived longer, but I ran over it with my car a few years ago, and last year, for some reason, the damage started causing the display to flake out.
And it still worked for a few years? Cool.
I felt a bump, got out of the car, looked around, and saw nothing. Got back in the car, started driving, and noticed that something was definitely wrong. Got back out of the car, looked around, and finally noticed the backpack between the tire and the wheel well.
I had run over the front left side of the laptop. There were key imprints on the screen, but otherwise everything seemed fine. The wireless connection was never really good after that, but it did work given a strong enough signal. I guess I damaged the antenna.
And then, years later, the display started flaking out, getting to the point that the system was unusable. For a while I could work around the problem by putting 2-3 of those huge black paper clips on the frame of the display, near the damage. But then that stopped working.
That was a fine computer. I can't bring myself to just discard it. Burial might be more appropriate. The replacement MBP (2011 15") is just awesome.
I am currently on a 2011 13" MBP and understand the just awesome feeling!
Also, if you can look past the somewhat childish glowing apple, the Macbook Pro ticks all the usual Apple boxes: looks nice, easy to keep clean, feels solid.
The productivity thing is just the usual bollocks. Changing OSes and development tools and so on can seem like it would be the end of the world, until one day you're forced to do it (for whatever reason), at which point you always find out that it's no more than an annoyance.
(This even takes into account Xcode 4 and the Windows command prompt, both of which are maddeningly, frustratingly awful.)
Bollocks for you maybe. We don't all have the same job needs. I absolutely need Adobe Creative Suite and several multimedia tools, as well as a full UNIX.
Neither Windows (only Adobe), not Linux (only Unix) fit the bill.
Oh well - perhaps my reading of the question is wrong, but this is very strongly what it implies to me.
The thing I find most annoying is the lack of home/end keys on the keyboard. I know that there are shortcuts to emulate these, but I've got a lot of muscle memory tied up in these keys existing, and not having them is a huge imposition to my ability to navigate effectively.
Plus, add in a dash of consumerism and the modern psychosis of increased perception of value with rising cost, and you get there. It's not a huge leap; put an MBP and a Toshiba side-by-side, and which looks nicer?
When I switched, it was amazing. I felt so productive and everything was fantastic. However slowly I realised that I was lying to myself - lots of things simply aren't as fast on OS X and I found development to be pretty poor. In the end, I was doing most of my development on a remote Linux box and that's when I decided to move back to Linux full-time.
Now I'm running Ubuntu 11.10 (with Gnome 3) on a Thinkpad and Ubuntu 10.10 on a machine I built with a huge 27" (2560x1440) display - I don't think I've ever been more productive.
2 - it has bash and the tools I use work the same way they will on the linux boxes I deploy to.
3 - I won't use windows and I wouldn't take a job that did. Been there, done that, never again. cygwin is a joke and you're never quite sure if the errors you're hitting are a bug or a difference between the deployment environment and cygwin.
4 - community: it's the common development environment for web software and data analysis, so it has the least sharp edges. Because many people use it for web dev / internet dev things tend to work and get fixed first.
5 - vim works just fine, as do R, matlab, python, scipy, bash, awk, sed, etc
6 - nice hardware. Robust, doesn't flex like plastic. Oh, and magnetic charger connections! I have no idea why other manufacturers are too stupid to use these, but I've killed thinkpads by kicking them off the table after getting tangled in charger cords, and the magnetic disconnects have saved my macbook several times.
7 - generally good service, easily available at apple stores.
Re 1: Absolutely true, and it's something that might make me go back to a mac (from Ubuntu) in the future.