Lion download progress: about 45%
I bought a MacBook Air in January. It's very ideal for travelling, due to its small size and weight. However, it squeezes nearly the same amount of pixels as a 13.3" MacBook Pro in a 11.8" display. So, if your eyes are a bit tired, it becomes annoying to read code. Also, the CPU is much slower (even after this refresh) than the MacBook Pro. If you use compiled languages or do a lot of data processing, this is annoying.
I returned my Air to my Apple Reseller recently, and purchased a MacBook Pro (as I had before). It's fast and a readable screen.
Since you are a programmer, you'll probably enjoy a MacBook, given OS X's UNIX underpinnings.
So I'd advise that if you have a language that's 'tiny' and a minimalist editor, you'll probably do fine on a MBA. If the language and editor take up lots of space, I'd stay away and go with something that has a bigger screen (exception if you plan on using an external monitor).
I have a 13-inch air; the pixels are tiny. If you try 1440x900 on a large monitor, bear in mind smaller fonts may not be using once you shrink down to laptop size.
Apple stores seem pretty liberal about machine use (notwithstanding the guy being prosecuted for installing webcam upload software on a store's machines..) - maybe you could download Mac Eclipse to a USB key and try it out on a machine?
They're super keen on stuff like this.
Right now I've got it plugged into a huge cinema display (which I have on loan for 6 months, it's very nice) but I have also used it quite a lot as a laptop.
I'm mostly writing Python here, so no long compiles. I imagine that would be a killer if you were working on C++ projects...
-------------
1. http://electricpig.co.uk/2011/07/20/2011-macbook-air-benchma...
The 13in MBP is pretty low end without upgrading many of the components.
MBPs have tremendous resale value (especially the higher size models), so don't feel so bad about spending a few extra bucks on them.
You'll need the superdrive in particular most likely.
You boot from the partition, and after installation, delete it and extend your primary partition (if you partitioned your internal hard drive).
Also, some people tend to work with large data sets or problems that just require lots of memory. E.g. I work on language generation, and generally the more memory the better. For me 8GB is the minimum for doing serious work, and most machines that I use have >= 8GB and <= 64GB of memory.
Edit: my question is not rhetorical, I really would like to know.
8GB will work for me (that's all I have at work) but it definitely makes my life hard.