If you are on a budget, I recommend getting a slightly older model (slower processor) but with as much memory as you can get. I also recommend that you get a model with the one-year warranty instead of the three-year warranty, to save money. There are so many people selling ThinkPad parts and accessories that there is no reason to pay for a warranty that you will probably never use when you can replace anything that breaks yourself for less money. I just priced one at lenovo.com and it was less than $1,100.
BTW, I strongly considered buying a MacBook but I went and tried them at the Apple store and I found that the keyboard is really horrible for programming. Only Sony VAIO is worse. No dedicated home/end/pageup/pagedown on either?!?!