tags:

views:

323

answers:

4

I'm looking to buy a personal machine for development and I'm deciding whether to go with a Mac or a PC (on which I'd run Ubuntu). My plans for the next year or so involve getting more heavily into C/C++ and networking than I currently am. Are there any differences I should be aware of between the two OSes as far as C/C++ system libraries and such go?

+5  A: 

If you have a lot of excess cash laying around, get the mac with the option to run Ubuntu in a VM. Otherwise a pc gives just about as much flexibility. As far as the actual development environment, both are going to be similarly good, but Ubuntu might be just a bit more developer friendly: apt certainly does make it easy to get additional libraries, etc. It might also depend on what IDE or tool chain you want to use.

zdav
+6  A: 

Get a mac and run ubuntu in VMware or Virtual Box. This is what I do and it works a treat. You can even have 32bit and 64bit ubuntu. -- I've recently had issues that only shows up on 32bit or 64bit compilers.

Michael Anderson
+1 for the Mac + VMware Fusion suggestion - one of the great things about running Linux (or anything else) as a VM under something like Fusion (or Parallels) is that you can take a quick snapshot before you do anything risky and just roll back the VM to its previous state if you need to. Not so easy on a "real" Linux box.
Paul R
@Paul: Don't forget you can still run a VM on "real" Linux.
Roger Pate
@Roger - true - I just find a Mac-based solution more useful as my code needs to compile on Mac, Linux and WIN and I can have all 3 OSes running on one machine with one copy of the source code visible to all 3.
Paul R
@Paul: I should've been more direct: if "risky" operations and easy rollbacks are a concern, then you must run *all* of your test platforms in a VM. This frees up more options for your host OS.
Roger Pate
+1  A: 

It sounds like you are interested enough in Macs and technically minded enough to consider using Linux. In that case, I would recommend building your own Macintosh and dual-booting OS X with Ubuntu.

This gives you several advantages:

  • Choose your own hardware at a favourable price/performance ratio
  • Get access to things that real Macs do not, like PCI slots and serial/parrallel ports
  • Ability to run things like more than 2 monitors, multiple hard disks, maybe BluRay drives or SSDs
Coxy
Building a hackintosh while Apple is aggressively enforcing their licensing terms by both legal and technological means isn't the brightest idea if he intends to commercially market the applications he wants to develop for MacOS.
codeelegance
+3  A: 

A Mac is an excellent option - many have already mentioned the ability to dual boot or run a Linux VM. Remember also that the Mac has its roots in UNIX under the hood, so you get lots of *nix goodies for free right out of the box. A number of my colleagues have purchased Macs intending to run another OS in a VM, and are later pleasantly surprised to find that OS X does what they need it to do.

Reed Olsen