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