Comment

Comment by jeswin

Learning lisp is enlightening, but to claim that it's that much more productive than some of the other well designed languages is a stretch.

- Lisp macros are powerful, so the core of the language can be kept simple. However, many languages take an alternate approach and codify the most common programming patterns into their specification. The result is a compromise that works for the majority of cases, and better understood than custom macros.

- Homoiconicity is elegant, but somewhat over rated in practice. Declaratively expressing intent does not require homoiconicity, you can do that in JSON or XML if you agree on a format. Now with lisp, code being data, you can be infinitely more expressive; but at the same time inferring intent out of complex code-as-data is essentially writing a very intelligent macro/parser. There's a cost to it.

- if you're not really gathering the intent from code-as-data, there are ways to do eval() in other languages as well.

- Lisp has not succeeded on a relative scale. Let's not discount that.

- Compilers can optimize well known constructs better than equivalent macros in lisp.

So again, learning lisp is a great idea. But there isn't a one programming paradigm that's universally better than others.

parent jeswin 11 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton