Laptop vs. Desktop smackdown
Since the prices on RAM is all time low I seized the moment and doubled the amount in my developer machine from 4Gb to 8Gb. Let's just say that 8Gb is the new 4Gb now.
Developing on a laptop or desktop?
I'm kind of biased about doing my development on a laptop or a desktop. I use a laptop at work and love the mobility of it, but feel very limited by the performance. My development desktop at home is heavy as hell, and not something you would move around, but it is the most stable computer I've ever owned.
The laptop
If we were to boil it down, what are the cons/pros for using a laptop in development.
Pros | Cons |
---|---|
Mobility | Expensive performance |
Built in UPS | Heat problems |
Ergonomics, screen size | |
No tinkering, hard to service | |
Video and audio is crap |
When you sit in front of your computer for 8-10 hours straight you have to think about ergonomics. This usually means that external screen, keyboard and mouse are needed even though it's all included in the laptop. A laptop is much more use and throw away than desktop, because it is so hard to service. You won't switch that CPU when it becomes too old and you won't exchange motherboard for USB 3 support.
The Desktop
Pros | Cons |
---|---|
Powerful hardware available | Stationary, you won't move it around |
Easier to cool down, not as noisy or warm | Takes up a lot of space |
Cheaper in the long run, you switch components | |
Customizable, you can add 2 hard drives if you want |
The largest pro here is that you can get much more raw power from your desktop and that can be upgraded as new components appear on the market. Waiting for compilation is never fun.
Summary
Would I rather work on a desktop or a laptop? Neither, both. I would love to have a solution where my workplace provided a desktop for development, and a laptop that is always synced with the desktop. When ever I needed to go out to a customer or into a meeting I could grab my laptop and know that it was up to date with my latest work. This could be done with dropbox or any similar solution. This of course would make me a very expensive developer needing both 2 sets of hardware and 2 sets of licenses. But hey! employees salaries are expensive, not hardware.