Ask HN: Are Paul Graham's arguments in defending Lisp still valid today? - behnamoh
======
AnimalMuppet
Yes and no.

Yes: Homoiconicity is a big deal. It allows (Lisp style) macros, which are
pretty unique and pretty powerful.

No: The argument of the Blub Paradox was mistaken then, and is mistaken now.
The mistake is the idea that all languages can be ranked on a one-dimensional
axis labeled "power". And (related mistake) that one should choose the most
powerful one.

To see why this is mistaken, consider Lisp and Haskell. Lisp advocates looks
at Haskell, and knows that they are looking down. (How can you get anything
done in Haskell? It doesn't even have macros!) But the Haskell types (pun
intended) look at Lisp, and they _also_ know that they are looking down. (How
can you get anything done in Lisp? It doesn't even have a decent type system!)

The correct answer is probably more like thinking of programming languages as
a tree in a multi-dimensional space. The program you're trying to write is a
vector in that space. Pick the branch of the tree that extends the farthest in
the direction of the program you're trying to write. That is, pick the
language that will do the most to simplify the task of writing the program.
Sometimes that language is Lisp; sometimes it's not. Sometimes it's Haskell;
sometimes it's not.

~~~
zzzcpan
Blub was about productivity features for building products, i.e. writing
software faster, not arbitrary features. A decent type system in terms of
productivity is certainly not Haskell, they cannot look down on anyone. So the
argument is still valid. But sure, sometimes it could be Haskell, but I doubt
it, it's probably always faster to not use it, even if you have to come up
with a DSL.

~~~
AnimalMuppet
> A decent type system in terms of productivity is certainly not Haskell, they
> cannot look down on anyone.

I suspect that the Haskell users would disagree with you. (I am not one, so I
cannot say with certainty.)

