Ask HN: Considering moving to a Mac - development pros and cons?
My Windows 7 laptop of 3.5 years is starting to get a bit flaky. I have been considering making the move to a mac for development, but have heard that they are not necessarily my best bet for development. I am also not sure what to think about Windows 8 yet.
I do a variety of Java/J2EE (for work, don't judge!) as well as various web development and am looking to get into Ruby as well.
What OS/hardware would you recommend for a general purpose development machine?
19 comments
[ 4.9 ms ] story [ 69.1 ms ] threadI love the hardware of my macbook pro, but being a windows user my whole life took plenty of awkward forehead banging. Now I tend to do all of my development on it and leave my windows 7 machine relatively untouched (although I'm hooking up an external monitor to it tonight).
For me the biggest issue in this area is profiling. Solaris Studio is the best Java profiler I've tried, and I believe it is not available on Macs. This is the thing that really pushed me off the Mac for Java development.
Why not Linux on bare metal? VMs are convenient, and I find that multimedia, VPNs, wireless networking, work better on the Mac.
Previously, I had a 17" Dell Core2Duo. It worked fine for development, but it's a boat anchor and had to go.
It downloads and installs multiple versions of windows VM for Virtualbox with IE6-9. It also installs reset points so when the activation is up you can just reset all your VMs and use them again until activation is up.
It's really useful if you do web development with a need to test on IE.
The only real exception to this is if you're using a fully microsoft-centered stack, like windows development with C# and such. Their internal dev ecosystem is pretty good.
I got a 11" MacBook air, and aside from the small drive space, I think it is fine for coding, assuming you'll regularly be hooking it up to an external monitor and keyboard. I actually code on the machine without external tools, but like I said, it isn't my main machine.
On the other side, with Windows laptops now having touch screens, I'd struggle to recommend a mac until they do to.
From 2006 to 2008 I did everything except development (only some web dev stuff) on an Apple Macbook. It was a really good product, excellent font rendering at the time, stuff just worked. Well there was some pain with using fink/darwinports and rails etc. back in the day, but I think that is a solved problem today with Homebrew.
During 2011 I also had a contract where I did C# development in Windows 7 on a high-end Dell Inspiron with an i5 and 8GB RAM and a 160 GB Intel SSD. This worked fine too even though Visual Studio was still slow on our rather big project.
For a general purpose development machine today I'd look at lots of RAM, i.e. at least 8GB, at least a good i5 cpu, and an excellent screen with at least 1920x1080 and I prefer matte displays for development. Good full-size keyboard too. SSD is nice too, but at least on Dells it probably cheaper to replace the disk yourself.
If a laptop, some people like to have a docking station that is able to drive two external displays. I don't, mainly because my M4500 display is so much better than the glossy cheap external displays I have access to at work.
If you can afford it the 15" Macbook Pro with a Retina display is pretty sweet.
Having used Linux+Mac+Windows the last couple of years has given me the knowledge to be able to get work done on all of these platforms, and debunk FUD about why a specific plaform sucks/rules. I think that is an argument to switch platform every now and then.
I upgraded an existing machine from 7 to 8. It was mostly painless. The only real PITA was no upgrade path for XP mode which I used for an old version of a shrinkwrap application. Because my machine is too old for Hyper-V, I had to create a new VM, load windows and then reinstall it.
On the other hand, my workflow under Windows 8 is at least equivalent. The characterization of Windows 8 as touch centric is misleading - it is designed to run well from a keyboard.
... for one thing I never got over the fact that I can't right click and create a file of a certain extension in the macfinder,and then open it like you can on windows. Why do I have to have an application open before I can create a file using the UI (I know it can't be done from the command line). Small things like that annoyed me enough to remain on windows.
If I'm gonna switch to a linux, might as well be onto a CentOS or Ubuntu box.
that said, having the terminal baked in as part of the OS is quite nice
Homebrew is pretty handy. Not having to muck around with cygwin or some other command line addon in Windows has been quite nice.
just figure out whether you are using any software which comes only for windows (you will need to find a replacement for that), but my guess is that there will be none.
Rest, obviously there will be hiccups but eventually you will love it.