4GB of ram is a must. You could do it on a Mac if you use virtual machines, but I'd just go the pure Windows route.
Actually, I'm in the same league as the poster, except that I plan on RoR development, objective-c and cocoa, and .NET development.
I currently have a Core 2 Duo, 2.8Ghz Macbook Pro w/ 4GB of RAM and a 500GB HDD. I'm doing the following upgrades:
- 2 x 4GB DDR3 SODIMM's for a total of 8GB of RAM (and that's the max)
- Swap the current 500GB HDD for a 500GB 7200 rpm, hybrid drive from Seagate (500GB drive w/ a 4GB NAND memory cache for extra speed)
- Dual boot Windows 7 and OS X 10.6 (Snow Leopard); 200GB for Windows and 300GB for OS X
I plan on getting a NAS for network storage, 2 x 500GB portable drives for mobile storage and use the 1TB Iomega drive I presently have for Time Machine. I have no plans on using a VM for the same reason that if I need to use Windows, I'll just boot to Windows. I could use VMWare Fusion, but my biggest concern is RAM usage.
This laptop will serve as my single purpose machine doing everything. OS X will be used for both development (objective-c/RoR) and Aperture 3 (photography stuff), Windows will be more for SQL Server Express and .NET Development. The portable drives will be where I store all of my development files and such. So yeah, I've got a plan and a roadmap. What he wants can be done on Mac, but personally, unless he intends on moving towards open source systems such as PHP or RoR, Windows suits him just fine.