Coding Asp.net apps on a Macintosh.
Friday, April 6th, 2007I’ve been a developer for more than 15 years now and I’ve always used a Windows box to write software. I started out at Compaq Computer Corp writing device drivers in C in the mid 90’s on Windows NT, then Win32/MFC apps in Windows 2000 and finally .NET applications in Windows XP. Today, I’m writing .NET apps on a Mac.
Well, I’m not being totally honest, it is true that I’m using a MacPro running OSX to write software, but I’m still running Windows XP through Parallels, the virtualization software for OSX. You might wonder why I’d prefer this setup to just running Windows XP natively, and I’ve got a few answers that will shed some light on the subject.
First, easy backups. My parallels hard drive is a single file approximately 60gb in size. When I’m ready to back it up, I just copy that one file to either tape, or in my case, a network backup drive which gets backed up to tape. This makes backing up so simple.
Second, unlimited system restores without worrying about whether or not the software will correctly restore me. If I’m about to install new software and I’m unsure about compatibility or if I just want to test something out, I can make a duplicate copy of my Parallels hard drive and then boot it up, try it out and if I don’t like it, just delete it. No need to use system restore software to bring my machine back to some previous configuration.
Third, I can easily move the file between computers. Lets say I want to bring my development environment on the road with me. I can just copy the Parallels hard drive file to my laptop and boom, I’ve got everything i need. When I’m done using it on the road, I copy it back to my MacPro and I’ve got everything exactly the way I left it after I was done using it on my trip.
There are a lot of other reasons why I prefer this configuration. For example, there are Macintosh applications that in my opinion work better than their Windows counter parts. Now I get the best of both worlds. I also find OSX much more stable than Windows. I get uptimes of several weeks rather than several days. I also find that I need to reboot Windows pretty often (with security updates and the sort) so its nice to be productive while Windows is rebooting. I can surf the web and do other Mac tasks while Windows is doing its thing. Lastly, Parallels has an option called Coherence which lets you run your Windows programs right along side your Mac programs instead of using a Window. This is pretty neat and makes me very productive.
I’ve been working in this way for about two months now and I’m very pleased. My Windows apps run very quickly on a MacPro with two Dual Core 3.0Ghz processors and 4gb of Ram. While this is an expensive setup, I’d recommend to most Windows developers.

