The right development machine

If you are a programmer and are or will be buying a new laptop, you’re probably wondering what you should buy. It’s a tough decision because it’s one of those things that if you make a mistake you’re stuck with it for years. Kind of like having an ugly kid. Well not that bad. The good news is that if you really seeking quality in your next laptop, your choices boil down to 2. Do you want an IBM thinkpad (or a Lenovo) or do you want an Apple. Well I’ve had the privilege of being provided with a free laptop through my employers in the past 4.5 years. Yeah working has some perks :)

5.5 years ago I bought an iBook G3 on eBay and used it for 1 year. That was my first mac and I really enjoyed it. Then I went to IBM and was given a thinkpad T23. I was really excited about the new laptop and enjoyed that one for a year until I realized it was a really ugly, slow machine. Then they changed my thinkpad to a T43, which was a lot faster but it still was ugly and it wasn’t as fast as I wanted it to be. I am not complaining about specs, I mean when I switched applications, my brain had already done the context switch where the machine hadn’t. That makes a computer slow. Then I started working at UofT.

I was given a MacBook pro and I’ve been using that for 1.5 years. It’s absolutely awesome. Here is my comparison between the two machines I’ve used very extensively.

Mac qualities:
- Extremely beautiful and bright screen. You will learn that a bright screen is fundamental in a healthy, developer, machine relationship. Thinkpad’s screen, not so bright.
- Great feel on the keyboard and the nice back-light beneath it. Thinkpad’s keyboard was great and I particularly loved the little knob that acted as the mouse inside the keyboard.
- It’s fast. yeah it’s really fast.
- Great wireless card. Thinkpad’s card was great but the software was freaking dumb in finding available networks.
- The basic softwares come with the OS.
- The speakers suck I admit; but so did the thinkpad’s.
- I used to hate iTunes, but once you find some friends who are mac users, you’ll learn to love iTunes. I have access to about 60 gigs of music on my partner’s macBook every day at work. I’m so glad I convinced him to buy the mac. You have access to all sorts of radio stations and a huge library of podcasts.
- It looks fabulous. Yes aesthetics are very crucial in a longterm relationship.
- The battery is amazing, amazing, amazing.
- You always have access to the terminal (that includes ssh, sftp, grep, ps … and all those useful commands)
- The OS is amazing. I restart the machine once a week.

So overall I think the MacBook pro is the best laptop out there by far. I know it’s slightly expensive but you can get great discounts from the UofT bookstore and you can get them even cheaper if you can buy a used one from one of the profs. Believe me if you use your laptop a lot (I use it 10-12 hours/day) you should buy a MacBook Pro.

One little note for Java developers though. If you are going to compile java 6 code on the machine, make sure you buy a Core 2 duo. The “2″ indicates that the OS is a 64 bit OS and Java 6 only runs on a 64 bit Mac OS. Happy coding.

Rokham Fard

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • StumbleUpon
  • Technorati

Tags: , , , , , , , , , ,

3 Responses to “The right development machine”

  1. Meto B Says:

    Interesting post dude… however, while I agree with almost everything you’ve posted so far, can’t say the same for this post. Keep in mind this is only applicable to computers whose specific purpose is development.

    To begin, a laptop as a type of personal computer is not designed for development. Any laptop isn’t healthy if one uses it for a long time - small keyboard, small monitor, no mouse, people tend to slouch on it, the wrists are in the worst possible position and give it a few years, and ones body changes drastically whether you notice it or not. Having said that, for a developer I’d strongly recommend a desktop with a nice 22″ monitor elevated at eye line, ergonomic keyboard, LOTS of memory and if not the latest CPU out there, not later than the second latest - one will be running web servers, databases, development environments, debugging tools, all at the same time, so any time one waits for that progress bar to move gives them time to go on a tangent.

    Another issue when going “laptop” is the budget. For the price of an Apple MacBook Pro (with a 15.4″ monitor) or a high end IBM/Lenovo one can get a much higher end development desktop with a 22″ external monitor (from DELL for example). True, it isn’t mobile and one can’t take it to the library, but this is a development machine, and development almost never takes place at a public venue - spending 12 hrs/day on it.

    Now, if one still decides to go with a laptop, I’ll have to disagree with your 2 choices, in particular with the one you recommend - the Apple. Apple’s products (emphasis on laptops) are expensive to buy, upgrade and repair, yet very gentle. I dropped my MBP while it was in my Oakley bag (you know the one) from about 1 foot - this is a $200 bag that has a compartment made specifically for laptops, with sponges, the whole shebang. The little hinge that locks the lid on the laptop broke, and Apple wanted $600 + labor to replace the ENTIRE chassis of the laptop - and development machines get way worse treatment over the course of their lifetime. Dave (CSSU) wanted to buy a replacement charger for his MacBook, I think he paid $130 (?!). Ali wanted to replace his charger as it almost set his apartment on fire, spent endless hours on the phone trying to outsmart some “Genius” to get what’s rightfully his. I may be biased due to my horrible experience with my MacBookPro, but these are facts.

    As far as IBM/Lenovo goes, no doubt. These are monsters. HDD has drop protection, inside the laptop has some gel (some models) to absorb the shocks… #1 workplace laptop money can buy right now. Ugly, but if one is in development, really, appearances are the least of the concerns. One needs a reliable and fast machine before a pretty one. The shitty speakers, shitty wifi software, other software that comes with it - I think are irrelevant. A developer will setup his own software suite, and will use headphones anyway :)

    For #2, I’d have to go with a DELL. I had a DELL @ NexJ, its not an IBM, but its still pretty solid. Some $30/year/machine buys priority support, so you dial 1 number and the first “hello” you hear is from a person, not an answering system, not to mention that the company had only 1 broken laptop (of 40) in a year - the tech guy said that when we had a similar talk.

    Anyway, nice effort with the posts. Keep up the good work! C ya soon!

  2. Jared O'Toole Says:

    If your an entrepreneur I don’t think there is anyway to go except a laptop. Being mobile is what keeps the creative juices going. I spend anywhere from 8-12hrs a day on my laptop but probably no more then 3hrs in any one place.

    I just got a macbook and its amazing. Would never want anything else. Had a Dell basically stopped working.

  3. Andrew Says:

    Both Mac’s and Lenovo’s are over priced. (and remember they are not IBM’s anymore) There are plenty of good machines out there that are just as dependable at a fraction of cost. I understand the sex appeal of a Apple, but to be honest PCs are a much better choice. Upgradability, dependability, and power are unmatched in the Mac world. I’ve heard mixed reviews for Dell’s but I wouldn’t look past em. I’ve had my Acer for about 3 years now as my main machine. It’s still running like a champ. I suggest you do a bit more research and don’t try to be so brand loyal.