Why Lisp?
I'm an old Astronomer... way back when I first started programming in earnest, I was using a language, developed for Astronomy, called FORTH. It was great -- it had a mean-time-between-reboots of about 10 seconds... We produced the world's first completely computer controlled telescope on Mt. Jelm in Wyoming at the 100 inch WIRO Telescope. Later I transplanted what I learned in Wyoming to what was the world's largest telescope, the 6-mirror MMT on Mt. Hopkins near Tucson, AZ. My personal goal was to produce a Forth control system that could last days between reboots, not the usual 10-second lifespan...The fellow who invented FORTH, Chuck Moore, once stated that he invented it because at the time the average programmer could produce about 1 significant program per year, and he wanted to do 10 per year...
I'm a bit more greedy than Chuck. I wanted to produce a significant program once per day. I find that with Lisp I have achieved that goal. Of course it all depends on how you define a significant program. For me, it does not mean something nicely packaged into a GUI complete with a support channel and massive documentation. Rather, for me, it means being able to pose a problem and discover answers to it at my finger tips.
Probably the single most important feature shared by both FORTH and my personal Lisp environment is the Environment itself. An incrementally compiled, interactive, computing platform. If C++ were incremental and interactive it might better achieve these kinds of productivity improvements. But it doesn't, and it isn't.