Water is free, most likely. I've never had free food programming, beyond nutra-grain bars, once.
> Customers are allowed to scream at you and you have to figure out how to make them happy.
Toxic clients exist in the programming world, too. And as a low-level peon, you have a lot more leeway in telling an abusive customer to get out than you do a multimillion dollar client.
> shifts well past midnight on Friday and Christmas Eve...
Still happens for developers.
As strange as it may sound, I think I personally was happier waiting tables. But it wasn't going to pay the bills. In general, I totally agree that most people, all things considered, are better off programming. But let's not overstate our case. :) There are definitely some programming jobs which are light-years better than any retail job because e.g., you don't have to deal with customers, but that's not all programming jobs.