1. I'm able to concisely express what I'm trying to do.
2. I never, never have to copy/paste or otherwise do repetitive work because one case is slightly different than another.
Number 2 is probably more important to me. It's why I'm happy when a language has first class functions and closures, and why I'm unhappy when the language is Java.
I think the cases where you can't modularize things enough such that you have to essentially include two version of the same thing is a programming language expressiveness failure.
Finally, I strongly disagree that programmers aren't or shouldn't be language designers. Nearly every worthwhile program I've written that people have used has needed an API or scripting/query language. So any language had damn well be suited to writing a parser. LISP fills that bill
too.
If LISP has shortcomings, its expressiveness and power are not them. If you want to complain about a lack of consistent implementations, lack of libraries, difficulty interoperating with any other language, lack of a canonical free implementation, no decent supported GUI toolkit, or the impossibility of distributing binaries real people can use without spending thousand of dollars on a professional LISP environment, go right ahead.
Comments
What I value most in a programming language:
1. I'm able to concisely express what I'm trying to do.
2. I never, never have to copy/paste or otherwise do repetitive work because one case is slightly different than another.
Number 2 is probably more important to me. It's why I'm happy when a language has first class functions and closures, and why I'm unhappy when the language is Java.
I think the cases where you can't modularize things enough such that you have to essentially include two version of the same thing is a programming language expressiveness failure.
Finally, I strongly disagree that programmers aren't or shouldn't be language designers. Nearly every worthwhile program I've written that people have used has needed an API or scripting/query language. So any language had damn well be suited to writing a parser. LISP fills that bill too.
If LISP has shortcomings, its expressiveness and power are not them. If you want to complain about a lack of consistent implementations, lack of libraries, difficulty interoperating with any other language, lack of a canonical free implementation, no decent supported GUI toolkit, or the impossibility of distributing binaries real people can use without spending thousand of dollars on a professional LISP environment, go right ahead.