Since it hasn't been explicitly stated, I'll add that there is no better programming environment (Lisp in a box, SLIME, etc.) than a slightly modified Emacs distribution. All of my programming needs (99%) are taken care of from within Vim, but for all those Lisp libraries and routines I write, I have to fire up Emacs to get anything productive done.