39
votes

Use of desktops are decreasing day by day in daily life but for coding purpose are there any reasons for using desktop over laptop?

2
  • 14
    @Andreas Rejbrand - Don't compare apples and oranges. Sep 14, 2010 at 12:11
  • My ideal would be separate detachable parts. Keyboard, mouse, track pad for locations without a mouse surface. 2 large monitors, 1 small monitor. And a device to hold up a monitor in your lap. All of it light weight and fitting into a backpack. So you get the ergonomics of a desktop with the portability of a laptop.
    – mike30
    Nov 7, 2012 at 15:38

18 Answers 18

40
votes

Assuming you have an external monitor and keyboard to connect to your laptop the difference is small.

It is always better to work in a desktop like setting (bigger screen realestate, more ergonomic environment), but you can't take your work with you without a laptop. So if portability is important, get a laptop and a good external screen and keyboard to connect it to. Otherwise you might as well stay with a desktop.

7
  • An external monitor helps, but I always feel cramped when I'm using a laptop. Extended programming sessions on laptops just discourage me.
    – TheLQ
    Sep 9, 2010 at 1:57
  • 20
    The ergonomics is more important than you think. Using a laptop (without external screens/keyboards) all day is actually quite a strain on your neck and back, holding your head in a tipped forward position for hours and hours.
    – Evan
    Sep 9, 2010 at 13:30
  • 7
    Plugging a monitor and keyboard into a laptop is basically taking the long way around to making a desktop without easily upgradeable hardware.
    – Incognito
    Sep 16, 2010 at 15:33
  • 9
    @user1525: That's one way to put it. I would rather say "best of both worlds"; portability and ergonomy. Don't remember when I've last time actually upgraded hardware on any computer. Could be in the 90s. Oct 24, 2010 at 9:40
  • 4
    @Martin @Benjol mantaining two (or more) development environments up to date is a pain in the ass.
    – Mauricio
    Jan 27, 2011 at 6:46
36
votes

I once worked with a contractor whose entire lifestyle was enabled by her laptop.

Her worldly possessions could fit into a couple of bags -- and one of those possessions was a Mac laptop, which for her was a magic box that made money appear. I literally -- literally -- was often unsure of which continent she was on any given day. Most of the time she was some place in the Argentina hinterlands where she found a good internet connection, but she could have been in San Francisco, or DC, or Hong Kong, or....

I met her in person, once. She was in town for a relative's wedding. I asked where she was heading afterward. She didn't know; either Argentina or San Francisco. She had everything she owned with her, and she'd decide tomorrow.

She did good work, too.

For me, I much prefer developing on a desktop; I loves my multiple monitors, and the physical environment is more ergonomically sound.

But when I (or anybody else) say some version of "It all depends on what your needs are," it's true. It all depends on what your needs are.

3
  • 5
    What an admirable lifestyle. Very interesting. Sep 16, 2010 at 16:32
  • Sounds like Luke Gorrie. That dude gets around a lot, too. Oct 5, 2010 at 18:29
  • 10
    But is she on StackOverflow? :)
    – Benjol
    Jan 27, 2011 at 6:42
14
votes

The major plus point with a laptop is portability, and that's a huge plus, but a desktop has the following performance and productivity advantages:

  1. Bigger screen. The average desktop screen is larger than the average laptop screen and you have the option of going all the way up to 30" or so. A laptop can do the same resolution, yes, but the pixels are tiny.
  2. Multiple monitors. Yes, the same thing could be achieved using a laptop and a USB/PCMCIA video card, but then you'd be tied to a desk.. defeating the point of the laptops' portability as they'd need to be at the same height to avoid getting a crick in your neck.
  3. Faster/Multiple CPUs. A desktop can have the very fastest of processors and more than one processor too. A top-of-the-line laptop has a fast processor, but it usually tops out at a Core i5 and never the fastest.
  4. Better/Multiple Graphics cards. A desktop can have multiple high-end graphics cards, possibly linked together.
  5. Lots of RAM. If you want fast response, you put in as much RAM as you can afford. Not having to swap memory gives a massive performance boost, even if you were using Solid State Drives.
  6. Choice of Keyboard. You can have a bigger keyboard with dedicated function buttons (Volume, Cut/Copy/Paste, etc) and even a split one for improved ergonomics.
  7. Choice of Mouse. You could even have a vertical mouse, trackball or graphics tablet, since you're already sat at a desk. It's hard to use a mouse
  8. Better Speakers. The speakers built into a laptop are very small and often cheap.
  9. Wired networking. No need to worry about Google Street View reading your emails if you're not using Wifi. If you've another machine on the same network (e.g. NAS device), it's a lot quicker to use Wired networking.
  10. Remote Access. It's easy to install secure remote access software such that you can get to your desktop PC from your Phone or some other PC. Many routers can be configured to wake up the PC from 'off' (not just sleep), especially if you have AMT.
  11. Faster/Multiple Hard Drives. SSD is the fastest, yes, but also expensive for lots of storage. If you're doing serious video editing, you'd want multiple hard drives, which is difficult in a laptop. Yes, you could connect a big USB drive to a laptop, but that's a hassle and can't easily be done in the airplane/bus/train.
  12. Better/More webcams. The webcam built into a laptop is often fairly poor compared to a decent HD USB webcam.
  13. Expansion. All of the above hardware items can be upgraded at any time without replacing the entire machine.
2
  • I have all of this with my laptop... Exception is Expansion but I buy a new one every few years anyway so in a way that can count...
    – Frank V
    Jan 27, 2011 at 0:54
  • about #9, funny, but I hope you're still not checking email in a non-SSL'd way...
    – Ken
    Feb 20, 2011 at 18:39
13
votes

Very much depends on what you code, how you code and the tools you use/need.

My development projects...

  • Are graphics intensive (2D and 3D).
  • Are compute intensive.
  • Require multiple IDEs and usually more than one instance each.
  • Include large volumes of reference material...usually PDFs.
  • May target custom hardware.
  • May require CAD/CAM/CAE tools.
  • May drive me to drink.

So, for me a desktop with several large monitors is more of a requirement than a choice.

I would also suggest that working from a loaded desktop with multiple 24" monitors is going to be the more productive choice regardless. Having your GUI designer, code editor and browser on separate monitors saves a lot of clicks and trips to the task bar remember: "Clicks take time and time is money"...is not just something your grandfather used to say...it adds up...plus...Coding, reading stackoverflow (aka: geekporn) and watching [some geek movie] all at the same time doesn't really suck.

Of course, at the end of the day desktop it is what works desktop best for you. desktop

2
  • "May drive me to drink." --> LOL :-)
    – Frank V
    Jan 27, 2011 at 0:53
  • "May drive me to drink.", desktops fair better when your drink spills too, or at least they are easier to fix.
    – CaffGeek
    Nov 7, 2011 at 22:02
12
votes

I agree with EpsilonVector, the big issue is monitor space. A laptop can usually support a second monitor. But a desktop can support three or four monitors. The more, the better.

1
  • 3
    Not necessarily, there are USB based video cards
    – TheLQ
    Sep 9, 2010 at 2:36
7
votes

Desktop. I need my keys to be where they are. When microsoft came out with that stupid "lets turn those Insert/home/pageup/delete/end keys around 90 degrees" I raged like never before in my life. Keep my damn keys where they are, I don't want your garbage. I want my Model-M keyboard I've been using since the days when Comodore roamed the earth. My keyboard gets a lot of wear and I end up replacing normal ones really frequently because the contacts break up.

I need more than one real monitor. I don't want to look at some tiny freaking screen, and I don't want to lug around a 24 inch screen beast that devours the battery life.

I don't want any special over-ridden "make MS Word open" BS keys. I don't need to hit F-Whatever and have my screens flicker around. I want a numpad. Don't screw with my freaking keyboard!!!!

I don't use the mouse often, but I'd sure as hell use one over the trackpad or that TrackPoint garbage. When I'm typing I don't want the side of my hand to touch the trackpad and suddenly the text cursor is all over the screen.

Why would you EVER use a laptop for something other than screwing around in class at college?

5
votes

I'd go for laptops with external monitors. It's perfect for situations where you get tired of coding on your desk and you want to go somewhere else to code. You can also take it with you around the office in case you want to show or discuss your code with your officemates personally while not having them go all the way to your far away desk.

2
  • While I agree with most, there are a multitude of simple tools, such as hg serve, to accomplish the latter point.
    – Roger Pate
    Sep 9, 2010 at 11:01
  • We only do this for code that we're not ready to push/commit yet so using hg serve is kind of an overkill. Sep 10, 2010 at 1:33
5
votes

Laptop with 1920X2000 pixel resolution and 4 virtual desktops.

Yes, laptops severely lack the ergonomics of a full keyboard but I'm addicted to the low tactile feedback needed to type. I can type faster on a laptop keyboard than a full keyboard any day.

Tossing it into a bag and going somewhere else to code is always useful too. Being a slave to your desktop can be depressing and makes me feel like breaking out sometimes.

As far as impact injuries go, I actually type on a laptop keyboard with my wrists at a 45 degree angle anyway. I'm not sure if that's normal for most but it just feels natural to me now.

The external desktop isn't really necessary unless you need to see a direct material reference while coding. Other than that, I don't see much use for it. Multiple virtual desktops do a much better job of isolating responsibilities.

I usually use 4:

  • one for a web browser
  • one for revision control stuff
  • one for the IDE
  • one for unit testing

I also make it easy to switch by assigning the super+left and super+right to cycle between the desktops. Only having what your working on on the screen at any given time makes it much easier to stay focused on the task at hand.

The extra monitors just serve to take up valuable desktop space that I'd rather use sketching notes down on paper. It's amazing how much easier ideas can flow on paper.

11
  • You can get full low-profile keyboards. cherrycorp.com/english/keyboards/Desktop/G85-23100/index.htm Much better than everything being crammed together. Sep 13, 2010 at 13:29
  • Oh and you're definitely missing the point with multiple monitors - it's not about isolating responsibilities, it's about faster task switching - I can flick my eyes across to the UI, make a decision, and then back to the IDE without having to stop writing code. Sep 13, 2010 at 13:33
  • 5
    On that last point - if you don't have enough desk space for a mouse, full-sized keyboard, 2+ monitors AND a sheet of A3 paper then get an adult-sized desk, not a kid-sized one. Sep 13, 2010 at 13:35
  • 1
    @Peter Regarding your last comment... Aside from the fact that it's an a**hole remark, sometimes you don't have the choice of how large your desk is. I have spent a lot of my development time working on the road where my workspaces have ranged between managers offices to a little space between the terminal consoles. Sep 15, 2010 at 11:14
  • 1
    @Peter and... I mentioned isolating responsibilities as an added advantage. When you have less screen real estate in front of you, it's easier to drill down and focus on what you're doing. I used to work on a triple monitor setup but found it to be cumbersome after the 'cool' factor wore off. IE, more monitors don't make you more productive, more screen real estate (and the ability to run multiple apps in full screen) does. I'd get into fitts law and the theory behind UI design but this article particletree.com/features/visualizing-fittss-law describes it much better than I could. Sep 15, 2010 at 11:32
5
votes

Laptop are more expensive for the same prepossessing power.

So, the real question is: could you (or your employer) afford a laptop?

You could get rid of must of the disadvantages of the laptops by getting other material for it; extra(s) monitor(s), docking station, keyboards and mouses, external drives, extra power supply, wipers, air conditioning, air bag and so on. But that make the whole package price differences bigger.

2
  • If your employer can't afford or doesn't want to spend an extra $1000 to get you the computer you want/need, then in my opinion you need to find a new gig where they treat you right.
    – Ken
    Sep 14, 2010 at 2:55
  • 1
    @Ken It not a question of spending an extra 1000$ on the computer, it's a question of spending an extra $1000 for a laptop instead of spending an extra $1000 on a better desktop. Normally, you should get a "shopping budget" for the computer, the trick is to use it well.
    – DavRob60
    Sep 14, 2010 at 12:07
3
votes

Show me an ergonomic laptop with 3 screens (or similar single screen resolution) and I'll go with a laptop, til then it's a desktop all the way.

Portability is not a problem when you are using remote desktops.

2
votes

Desktop, hands down.

Throughout my time at university I used a low-spec laptop with Windows Vista for the majority of my development needs, and more often than not the pain of leaning forward, sitting uncomfortably on a bed and using it on a train isn't worth the convenience. Laptops are good if you're doing some quick document writing or surfing the Internet, but for anything serious it's really not worth it.

With a desktop computer, all these issues are taken away and left with how you sit, your mouse and keyboard layout, etc. Nowadays I'd never choose a laptop over a desktop, unless my company were to give me a laptop for free for remote work.

In the end, I typically opted to stay behind at university and get work done on a (slow) desktop, rather than work on my (slightly quicker) laptop.

2
  • Look at your laptop. Now look at me. Back to the laptop. Now back to me. I plug in a keyboard, mouse, and external monitor. Your laptop is now desktop!
    – James
    Sep 16, 2010 at 14:29
  • True, but it's either at a far lower spec or it's far more expensive than a desktop. If you're going to use a laptop as a desktop you may as well buy a desktop.
    – Mike B
    Sep 16, 2010 at 22:50
2
votes

Laptop! If you are having back problems, repetitive stress, carpal tunnel problems, or whatever, then you're doing it wrong. You are programming for too long at a time. Sit on a couch, change positions frequently. Get up and down off the couch. Get a coffee. Go for a bike ride at lunch. I'm sorry but carpal tunnel and stuff comes from using a computer for too long in the same position. It means you're working too hard and not moving.

Laptop! If you're too poor to afford a laptop, or your job won't buy you one, then you should get a different job! Hello! Programmers are supposed to make a lot of money!

Laptop! Why do people need so many monitors? I understand you have lots of programs to open, but do you really frequently need to see more than two at once? You don't need 10 monitors. It honestly doesn't make you look like you're smarter. You look like a super-dork with all those screens.

Laptop! For heavens sake do people really still uses mouses? That's adorable.

3
  • "You are programming for too long at a time."
    – James
    Sep 16, 2010 at 14:32
  • Some jobs won't buy people laptops because they get left on trains and the compromise company confidential data security. Oct 24, 2010 at 7:48
  • 4
    "It means you're working too hard and not moving" "Programmers are supposed to make a lot of money!" "why do people need so many monitors"... are you a kind of manager?
    – Mauricio
    Jan 27, 2011 at 7:03
1
vote

If you can't afford a high-end enough laptop, get a desktop. 3 or more monitors - desktop. Ideally, I would only program when sitting at one desk, but it doesn't always work that way.

I don't have an office at work, so sometimes I steal a conference room and use a laptop. Some tasks are mundane and can be done watching TV. Others, require seclusion. Never know when you have to program on the train or some off-site location.

1
vote

Laptop, if you know the key commands to switch windows you can "simulate" the experience of multiple monitors anyway. In addition, you don't have the added overhead of moving your head/eyes to focus on some other point, you just look at the same physical space in front of you while switching what is in that space quickly.

I also used multiple monitors for a time and found that the process of managing those monitors and all the open windows/applications etc to be more difficult than doing it with just one screen. That's just me though :)

1
vote

Laptop, easily.

I do not like being stuck in the house all day. I actually try to stay out most of the time. I live in a city so I can go to a few diff coffee shops or wherever and code. If I am actually at the house, much easier to lay on the couch or something.

Just make sure you get one with high resolution. Preferably an apple macbook pro or dell studio with 1920x1200 res. Just use virtual desktops. I literally hate sitting at a desk all day, that was the main reason I quit my 9-5 job in the first place! Plus you can sell your desk/chair/speakers or whatever else you probably have and create more space.

Just go sit at your kitchen counter/table/couch/chair/coffee shops. I could never go back to working at a desk all day. It's also much easier for meeting clients somewhere and showing them things, or of course traveling. I live a lifestyle somewhat similar to the lady going to SF or Argentina.

0
votes

As long as you connect 2 monitors minimum and an external keyboard then the laptop takes it for me. The automatic battery backup has saved me several times. Of course you could connect your desktop to a ups and get a similar affect.

4
  • 2
    "Could"? Do you mean that there are programmers out there who use desktops without a UPS?!? Sep 11, 2010 at 2:40
  • Personally, I don't mess around with UPS for my desktops; I prefer FedEx or I just go down to Best Buy and pick one up myself. Cheaper. Sep 13, 2010 at 16:47
  • @ChristianMann: I hope you're being ironic there Oct 24, 2010 at 7:50
  • 1
    :D I was referring to the shipping company ups.com Oct 28, 2010 at 23:35
0
votes

You can get enough screen real estate out of a laptop through the use of virtual desktop software and external monitors. The real reason to prefer a desktop machine is the (usually) higher physical memory limit (my desktop has 32GB RAM) and faster/more CPUs/cores.

-1
votes

I have a powerfull notebook, really good for software development and better: it's portable!

Not the answer you're looking for? Browse other questions tagged or ask your own question.