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.