I, Pierre Thierry?, do solemnly offer these my responses to The Road to Lisp Survey:
In fact, I only had a single contact with Lisp before really using it. I only tried the GIMP script-fu, and was totally puzzled to be unable to find a while or for loop in the language reference. It seemed to me to be a totally crazy syntax and weird language. I knew it was Scheme, and don't remember knowing Scheme was a Lisp...
My real first contact with Lisp was with Common Lisp, and merely was an accident. I'm inclined to think it was something like God's hand pushing me ;-). I had to help a friend of mine with the C++ implementation of a new algorithm developped in his reseach work, in a very short time, while he had to finish writing his thesis on the subject. It led me to take some time crawling in the C++ newsgroups to find answers on some C++ subtleties. It happened that one poster told having experience in Common Lisp before using C++, and gave PCL's URI [RtL Word of Mouth].
As my current work was intellectually challenging, I was in a real hunger of knowledge. I read the introduction of Seibel's book, and it was really teasing [RtL Language Curiosity]. So while I nearly completed the C++ program, I was reading PCL and trying to implement its examples. It was also very pleasant (and stimulating) to find not only one but five different implementations of CL in my Debian distribution...
In about two months, I was comfortable with Lisp's syntax and core concepts. I was about to be late in the delivery of a Web application for an important customer, and it occurred to me I could try in Lisp. Three weeks before the deadline, I started from scratch, and had the time to try many HTML generation libraries and HTTP servers. I ended with Allegro's htmlgen and Araneida. With a CLOS metaclass for persistence and dynamic generation of lambda functions that display pages based on an S-expression description of the products it was real fun to create the application.
I think it really is what I'm wanting from a programming language. I'm always wanting to abstract everything, and I hate boilerplate code. It was really amzaing to see how boilerplate code can be nearly removed from code with Common Lisp first-class functions and macros.
I probably know most of the core features of the language, along with some tricks about them, and I took time to read much about its history and theoretic fundations.
It may well be the last language I ever use. It's totally crazy how it's easy to build a complex and dynamic program and be able to make it fast, with things like compiled lambda functions. It was easier to play with threads and network programming in a portable way than with any other languages I previously tried (well, in fact I never managed to play with threads or networking with any other languages, but with Lisp it was only a matter of wanting it and I could).
It seems to be far easier to contribute libraries than in any other language, too. Probably because it's easier to build and provide abstractions. I'm wondering if Lisp abstractions are less leaky...
Some complex softwares I had in mind for a long time are now possible to implement at all. Before Lisp and before knowing its constructs and specifics, I did not see how to make those wishes come true. Now it seems really trivial!
Ha! And programming in Lisp is fun! Also more than in any previous language I tried...