I’ve been using my MacBook Pro now for about a month and think it’s the ultimate developer machine. You really are spoiled for choice and everything you might want is at your fingertips.
Mac OS X + Cocoa
Every Mac ships with the Xcode developer tool set. This gives you the native preferred Mac development platform called Cocoa which uses Objective-C at it’s core. The actual tools are based around the GCC 4 compiler and GDB debugger with a rather nice Xcode IDE and Interface Builder GUI designer from it’s NextStep origins.
Out of the box these developer tools include compiling for both Intel and cross-compiling for PowerPC and support C, C++, Objective-C and Java.
Windows + Visual Studio / .NET
Windows is at your fingertips either via Apple’s Boot Camp dual-boot solution or the virtualization through Parallels Workstation 2.1 for OS X or VMware’s forthcoming MacIntel solution. Both virtualization products are helped by Intel’s Core chips having hardware virtualization features.
Linux + GCC
While I’m not a fan of Linux these individuals have a live boot Linux CD for the MacBook or you can run Linux under Windows or OS X using your favorite virtual machine.
The Mono project support many platforms but their recommended IDE, MonoDevelop, is still quite far off being able to run on Windows. Either way you can test your app on Windows, Mac OS X or Linux.
Mac OS X + *nix command-line
It’s no secret that OS X is built on various BSD technologies and Apple include a bunch of the developer tools. For those tools that are missing grab Fink which will let you add everything important that’s missing as well as providing newer updated versions of the tools Apple include.
If what you’re looking for isn’t covered by Fink as default, try switching to the unstable packages. If that fails then try downloading the tarball then ./configure and make.
Mac OS X + X11
Apple provide an X11 implementation as an optional installation with appropriate library headers. Another base covered.
Web development with *AMP
OS X ships with Apache installed as default and you can add the MySQL and PHP elements if you so desire. Then you can choose between LAMP or MacAMP ;-)
For testing web applications the Mac has you spoiled for choice.
On OS X you can test in Safari to exert your app against the KHTML+WebKit engine, Firefox or Camino to test compatibility with the Gecko engine, IE for Mac or Opera’s Macintosh offering to name but a few.
Switch to Windows and you’ll have your IE6/IE7 engines at your fingertips as well as checking with the Windows versions of Opera and Firefox.
For running stress or penetration testing Mac OS X means you can get your hands on Nessus, NMap, Snort, Hydra and other Linux based tools.