Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Considering moving to a Mac - development pros and cons?
6 points by bjhoops1 on Jan 9, 2013 | hide | past | favorite | 19 comments
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?



I'm doing mainly embedded C/C++ development nowadays, but did some Java/J2EE work a couple years back too, and Debian GNU/Linux has been and still is my OS of choice, but Ubuntu is probably an easier entry point to the Debian ecosystem. You can easily try it with e.g. Wubi or booting from a USB stick, but if you like it you will get better performance with a native installation. I'm currently running Debian on a Dell M4500 with a first-gen i7 and 8GB RAM, and full HD matte display. It has been an excellent machine for the last couple of years. The current M4700 looks nice too.

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 would like to add that I purchased my mac solely for the purpose of finding out what development would be like on it. I am a C programmer, and I write code in Vim, so in terms of day to day activities, not a lot changes. Until I move into IDE based projects, where I almost always run crying back to my linux machine, and quite regularly the windows one too. I guess it really depends on the environment that you want to set up for writing your code in. Personally though, I would spend all that extra cash on a really nice machine (or even two...) With enough memory for decent virtualization. That way you can even have a Mac VM setup to see what it is like.


Can you elaborate on what happens with IDEs and Linux/Mac/Windows?


>"I am also not sure what to think about Windows 8 yet."

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.


...switched to a mac once for development. Going from windows to mac was quite a hassle, especially when you're trying to get things done quickly right away and each little thing takes you on a 30 minute roadtrip to google to find out how to do things the mac way.

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


"I can't right click and create a file of a certain extension in the macfinder" 100% agree

that said, having the terminal baked in as part of the OS is quite nice


I've got both a mac and windows machine. I never really got into the mac thing. I find I do most of my non-ios development in a ubuntu virtual machine on my windows laptop.

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.


What is the point of having a touchscreen on a laptop?


If you expect to have to do any iOS development (even using the C# cross over) you'll have to have a mac, which is kind of obvious.

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


I have a Mac with 16GB memory, running a Linux VM. (With that much memory I can run two easily.) I still find Linux preferable for Java development. The Mac isn't bad, but little things don't work quite right for me -- Mac keyboard bindings, Gnu Emacs (especially the font). When I want various open source goodies, I usually find that they are more readily available on Linux.

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.


I recently purchased a 17" MacBook Pro and am in the process of adding more RAM and an SSD along with Parallels. Parallels lets you install linux or Windows alongside OSX. Meaning, they run at the same time. Alternately, you can just run VirtualBox and load all the other OSs you'd like.

Previously, I had a 17" Dell Core2Duo. It worked fine for development, but it's a boat anchor and had to go.


Check out https://github.com/xdissent/ievms

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.


I'd wait a bit and then get a Windows 8 ultrabook. It comes down to personal preference though, in the end.


I think it really come down to what you will deploying on. For me (a PHP/MySQL dev) I work primarily with Unix boxes so switching to OS X made a lot of sense as my laptop shares a lot in common with the servers I deploy out onto.


I switched to a MBA 6 months ago and have been very happy with it. I'm not a hardcore developer, so ymmv, of course.

Homebrew is pretty handy. Not having to muck around with cygwin or some other command line addon in Windows has been quite nice.


I got win7 with 8GB RAM. Leaning RoR in Ubuntu on VirtualBox.


You've heard they're not the best dev machines? Really? I find that pretty weird. Any unix-based os is going to be hands-down easier for development than windows. Just go to /any/ tech conference, all you will see are mac and linux laptops. Maybe a single windows dude.

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.


boy you are late!!! welcome to the party.

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.


Have you considered linux?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: