I learned of the existence of Common Lisp about 1 year and 3 months ago, via PG's essays. There was this mysterious language I kept hearing about on Slashdot, that supposedly made you a much better programmer for the rest of your days if you learned it, and that was so much more advanced than Java, that was my only language at the time because I was "fresh out of college" (I actually dropped out at term 5 of 6 for mostly inconsequential reasons, one of them was gaming, now I stopped it entirely) and didn't know any better. Though in a sense, I did know better, because I was beginning to really "bang my head" on the "low ceiling" of Java, I was somehow attracted to metaprogramming techniques, I understood the repugnance of the boilerplate code, etc.
So, I read about all of PG's essays and researched it for 2 weeks, and I was hooked. I absolutely wanted to have those cool features like (apply) (and everything else really great about lisp), that I had so fondly dreamt of.
I spent the next year learning Common Lisp while writing my first website, and I have now developed (still evolving but mature-ish) a quite decent web framework! I made optimizing compilers for HTML and CSS, and I made a "form validator compiler" (among other stuff): you specify rules of validation in any order and it compiles into an optimized tree of closures that computes the stuff in the right order (well, actually it doesn't figure out the order itself yet because that's related to graph theory, and I have yet to learn that).
Could I ever have done so much in Java, or any other mainstream language? HECK NO! What I love most about Common Lisp is that it gives you 2 more responsibilties/powers basically. It places you in the seat of the language designer, and that of the compiler writer. That's my experience anyway. In Common Lisp, it's so easy to make new syntaxes and semantics that you can afford to use advanced techniques (ex: compiler writing) regularly and easily. It lets you deal with the hard stuff, if you're up to the challenge. As has been said, it's a language in which you think more than you write.
Common Lisp is my only language right now (well, except HTML, CSS, SQL and whatnot), but I plan to learn Haskell in maybe a year, and then maybe Erlang or some other cool language.
Also I want to rack up my computing (ex: algorithmic) and math skills, I could certainly use a more robust footing for the advanced stuff I want to make (like rule-based systems). I never liked math very much at school, and found it pretty useless, but now I'm really excited about learning things that will actually be of use for my work (and for me, work=play=life).
Hum... to go back on topic... well, that guy must have tried really hard not to find profound insights in lisp to succeed.
I'll prefix this reply with the fact that I'm a Scheme fan. But I would never try to code up a large project in anything related to LISP right now.
It's awesome that you've put together your own framework, but at the same time kind of unfortunate that you have to. Lots of languages (including Java) already have form validation frameworks that do pretty much anything you want, but Common LISP doesn't have the community behind webapps to get really great libraries.
I won't take away anything from LISPy languages as far as learning more about computer science in general and AI & language design in specific, but it's not the end-all be all of programming languages, at least not anymore. Ask PG how many startups he's given YC money to that actually use any language invented before the 90's...
I learned of the existence of Common Lisp about 1 year and 3 months ago, via PG's essays. There was this mysterious language I kept hearing about on Slashdot, that supposedly made you a much better programmer for the rest of your days if you learned it, and that was so much more advanced than Java, that was my only language at the time because I was "fresh out of college" (I actually dropped out at term 5 of 6 for mostly inconsequential reasons, one of them was gaming, now I stopped it entirely) and didn't know any better. Though in a sense, I did know better, because I was beginning to really "bang my head" on the "low ceiling" of Java, I was somehow attracted to metaprogramming techniques, I understood the repugnance of the boilerplate code, etc.
So, I read about all of PG's essays and researched it for 2 weeks, and I was hooked. I absolutely wanted to have those cool features like (apply) (and everything else really great about lisp), that I had so fondly dreamt of.
I spent the next year learning Common Lisp while writing my first website, and I have now developed (still evolving but mature-ish) a quite decent web framework! I made optimizing compilers for HTML and CSS, and I made a "form validator compiler" (among other stuff): you specify rules of validation in any order and it compiles into an optimized tree of closures that computes the stuff in the right order (well, actually it doesn't figure out the order itself yet because that's related to graph theory, and I have yet to learn that).
Could I ever have done so much in Java, or any other mainstream language? HECK NO! What I love most about Common Lisp is that it gives you 2 more responsibilties/powers basically. It places you in the seat of the language designer, and that of the compiler writer. That's my experience anyway. In Common Lisp, it's so easy to make new syntaxes and semantics that you can afford to use advanced techniques (ex: compiler writing) regularly and easily. It lets you deal with the hard stuff, if you're up to the challenge. As has been said, it's a language in which you think more than you write.
Common Lisp is my only language right now (well, except HTML, CSS, SQL and whatnot), but I plan to learn Haskell in maybe a year, and then maybe Erlang or some other cool language.
Also I want to rack up my computing (ex: algorithmic) and math skills, I could certainly use a more robust footing for the advanced stuff I want to make (like rule-based systems). I never liked math very much at school, and found it pretty useless, but now I'm really excited about learning things that will actually be of use for my work (and for me, work=play=life).
Hum... to go back on topic... well, that guy must have tried really hard not to find profound insights in lisp to succeed.