I have been running on a couple of very old laptops, one a Dell Latitude D820 and my main laptop is an Apple MacBook Pro (Intel, pre-unibody). These laptops still work but have been feeling a bit slow over the past few months, never repaved the MacBook Pro but kept adding software and updates from Apple. I am sure a fresh install on the Mac would do it well but I figured it was time to replace it instead.
Unlike many web developers, I write applications for both Ruby on Rails and ASP.NET, which puts me in a rather difficult position with regards to buying hardware. Currently, writing Ruby on Rails applications on Windows is less than ideal. The Mac is really the perfect environment for Ruby on Rails development. On the other hand, the Mac is not really much of an option to write ASP.NET applications which leverage Microsoft SQL Server.
Thought Process
I started considering my options:
- Have two laptops, one for Ruby on Rails and one for .NET development.
- Buy a new Dell (or some other brand) which included the new Intel i7 processors (mobile quad core and really fast), set it up for .NET development and run VMWare Workstation with a Linux VM for Ruby on Rails projects.
- Buy a new MacBook Pro with the mainstream Intel Core 2 Duo processor, set it up for Rails development and use VMWare Fusion to run Windows 7 in a VM for .NET development.
The decision was a lot harder than I thought it should be, going back and forth many times between getting a new Dell XPS 16 which had an Intel i7 processor on it with gobs of RAM and high resolution screen to the MacBook Pro, which I have really loved. I have to admit the price difference was a real factor because I could get a state-of-the-art processor along with all the RAM I wanted and great screen real estate for the price of 15? MacBook Pro with 4G RAM and average screen resolution. The 17? MacBook really put the price out of my budget for now.
The Dell XPS 16 is really a great system and would probably serve me very well but the nagging feeling of writing Objective-C in the future or a solid system for Ruby on Rails work kept swinging me back to the MacBook Pro.
The Decision
I spent several weeks going back and forth on the best decision with the technology at hand, keeping in mine the new i7 processors coming out by Intel, and hoping Apple might announce a new i7-based MacBook Pro but to no avail.
It really came down to what I really wanted to do with the new system and what I needed to do. I want a first-class environment for writing Ruby on Rails applications, sadly Windows does not offer this at the time. Running Rails on Windows is just a mess and not a challenge I am willing to take on.
The decision came down to a new Apple 15? MacBook Pro, 2.8Ghz, 4G RAM, 500G HD. I can continue to run VMWare Fusion with Windows VM?s and have very adequate performance.
Additional factors which led to the MacBook Pro purchase is the ability to have a great environment for exploring other languages such as:
- Clojure
- Scala/Lift
- Python/Django
I can easily have support for these languages on the Mac OS X.
Upgrades
One upgrade to the MacBook Pro coming in the near future will be a nice fast Intel SSD. This should top off a great, fast machine for the future.
I will also be upgrading to 8GB of RAM in the future, as soon as prices come down a bit for DDR3 4GB sticks. The only time I really get tight on RAM is when running VMWare Fusion but the faster processor and SSD coming should make up a bit for some sluggishness in OS X when running a VM.
Finally
Overall the MacBook is more expensive than pretty much any comparable system but the quality of product is second to none. When combining this with the flexibility OS X offers for developing Ruby on Rails and .NET applications either natively or a Windows 7 VM, it is a hard combination to beat.
I think I knew the decision before making it but I was hoping for that latest and greatest (i7) and save some money from the prices Apple charges for the MacBook Pros but realized how good a system the MacBook Pro is compared to everyone else in flexibility and design.