Programmer’s work computer
Whatever you do for a living, you are skilled at using a toolset in order to get your job done. A surgeon uses surgical tools to perform surgery and these tools are provided by her employer. Think of any profession or job, the norm is: you bring your skills to work, but the tools to get the work done are provided by your employer.
This is also true for software development industry. If you are a programmer, your computer is chosen, procured and given to you by your employer. You probably have some choice in that you get to pick between a desktop computer or a laptop, but not much beyond that. Corporations make this choice for you purely based on cost. Whatever costs least in the medium to long run wins. Some factors are ignored in this cost analysis because they are hard to quantify: lost productivity due to sloppy performance of computer, lower employee morale due to frustrations arising from unreliability of their computer, etc.
Why not let the programmer buy a computer for himself? Give him an annual budget and ask him to stay within that budget. If he wants to buy an average desktop and a laptop, its his choice. If he wants to buy a desktop with two LCDs, again his choice. Whatever he wants to buy within that budget, its up to him. Computers are not expensive enough for employers to bother about any more. Free that aspect of the programmer’s experience at work, and he will thank for you for doing that.
Imposing tools on employees may make sense in industries where the toolsets are standardized to the extent that there is hardly any room for individuality and personal preference. This is certainly not the case in programming / software development industry and hence it does not make any sense to buy computers in bulk and shove one down the throat of every programmer in your organization.