Live data from Hacker News

The Failure of Lisp? A Reply To Brandon Werner

danweinreb.org

1–10 of 53 posts

Re: The Failure of Lisp? A Reply To Brandon Werner

#2
Lisp (any lisp, be it lisp-1 or lisp-2) are currently fighting a fight on multiple fronts. From one side, each iteration of Python or Ruby gains new ground as they incorporate more and more lisp-concepts, while being "Visually friendly" (ie, with common syntax). They also have the ability to lure many more users from, say Java or C#.

On the other side, you have any language with type theory governing the language design: haskell, ML, etc. These have long since gobbled up most people interested in type theory and even these are loosing out to the new batch of languages with richer type zoos.

Lisp is not a failure and it has had more influence than people think. However, I think Lisp has played its major part like IBM has played theirs.

Re: The Failure of Lisp? A Reply To Brandon Werner

#3
post #2

Lisp (any lisp, be it lisp-1 or lisp-2) are currently fighting a fight on multiple fronts. From one side, each iteration of Python or Ruby gains new ground as they incorporate more and more lisp-concepts, while being "Visually friendly" (ie, with common syntax). They also have the ability to lure many more users from, say Java or C#. On the other side, you have any language with type theory governing the language des…

While I hear many people complaining about the "awkward" and "hard-to-read" syntax, it's rare to hear someone compliment the syntax of lisp. I am a big fan of the Lisp syntax because it's so simple and consistent - probably a relic of its roots in lambda calculus. Not having to worry about operator precedence is a huge bonus in itself - I don't know why on one hand people cling to PEMDAS, logic, assignment, etc having a complicated hierarchy of precedence and on the other reject lisp because it's too "foreign".

Re: The Failure of Lisp? A Reply To Brandon Werner

#5
post #3
post #2

Lisp (any lisp, be it lisp-1 or lisp-2) are currently fighting a fight on multiple fronts. From one side, each iteration of Python or Ruby gains new ground as they incorporate more and more lisp-concepts, while being "Visually friendly" (ie, with common syntax). They also have the ability to lure many more users from, say Java or C#. On the other side, you have any language with type theory governing the language des…

While I hear many people complaining about the "awkward" and "hard-to-read" syntax, it's rare to hear someone compliment the syntax of lisp. I am a big fan of the Lisp syntax because it's so simple and consistent - probably a relic of its roots in lambda calculus. Not having to worry about operator precedence is a huge bonus in itself - I don't know why on one hand people cling to PEMDAS, logic, assignment, etc havin…

I agree - I think the other strength of it is that macros are less messy then a language with infix operators/functions.

There is something nice about a language (lisp) that doesn't look like anything else, in an artistic sense (not sure if that counts for much).

I think when most people complain about the parens, they are really complaining about the endless ))))))) at the end of an expression.

Re: The Failure of Lisp? A Reply To Brandon Werner

#6
Lisp is the second oldest high level language, having barely been pipped by FORTRAN... and it's still around, and under active development. Long way from a failure.

Equally, with that kind of a trajectory and history, you'd also have to predict Lisp isn't going anywhere soon.

If anything, the rising interest and competition in functional languages is pushing Lisp back into the spotlight.

Re: The Failure of Lisp? A Reply To Brandon Werner

#7
post #3

Earlier quoted context omitted.

While I hear many people complaining about the "awkward" and "hard-to-read" syntax, it's rare to hear someone compliment the syntax of lisp. I am a big fan of the Lisp syntax because it's so simple and consistent - probably a relic of its roots in lambda calculus. Not having to worry about operator precedence is a huge bonus in itself - I don't know why on one hand people cling to PEMDAS, logic, assignment, etc havin…

I agree - I think the other strength of it is that macros are less messy then a language with infix operators/functions. There is something nice about a language (lisp) that doesn't look like anything else, in an artistic sense (not sure if that counts for much). I think when most people complain about the parens, they are really complaining about the endless ))))))) at the end of an expression.

Interlisp had the last part correct. [ was a special open paren and ] closed all open parens back to (and including) the most recent [.

Re: The Failure of Lisp? A Reply To Brandon Werner

#8
post #2

Lisp (any lisp, be it lisp-1 or lisp-2) are currently fighting a fight on multiple fronts. From one side, each iteration of Python or Ruby gains new ground as they incorporate more and more lisp-concepts, while being "Visually friendly" (ie, with common syntax). They also have the ability to lure many more users from, say Java or C#. On the other side, you have any language with type theory governing the language des…

Lisp will have played its major part when other languages have real macro systems.

Re: The Failure of Lisp? A Reply To Brandon Werner

#9
post #7

Earlier quoted context omitted.

I agree - I think the other strength of it is that macros are less messy then a language with infix operators/functions. There is something nice about a language (lisp) that doesn't look like anything else, in an artistic sense (not sure if that counts for much). I think when most people complain about the parens, they are really complaining about the endless ))))))) at the end of an expression.

Interlisp had the last part correct. [ was a special open paren and ] closed all open parens back to (and including) the most recent [.

Nice - I remember someone saying that that in emacs you could have it format it using indentation and now show the parens (or maybe it wasn't emacs).

Re: The Failure of Lisp? A Reply To Brandon Werner

#10
post #3
post #2

Lisp (any lisp, be it lisp-1 or lisp-2) are currently fighting a fight on multiple fronts. From one side, each iteration of Python or Ruby gains new ground as they incorporate more and more lisp-concepts, while being "Visually friendly" (ie, with common syntax). They also have the ability to lure many more users from, say Java or C#. On the other side, you have any language with type theory governing the language des…

While I hear many people complaining about the "awkward" and "hard-to-read" syntax, it's rare to hear someone compliment the syntax of lisp. I am a big fan of the Lisp syntax because it's so simple and consistent - probably a relic of its roots in lambda calculus. Not having to worry about operator precedence is a huge bonus in itself - I don't know why on one hand people cling to PEMDAS, logic, assignment, etc havin…

Clarity and unambiguity aren't necessarily the same things. The human brain can handle huge amounts of ambiguity, and our spoken languages reflect this. A programming language is meant to be a bridge between our ambiguous thoughts and the unambiguous calculations of a computer. S-expressions constrain the format of the programmer's dialog with the computer, making it simple and monotonic. For some people this will add a new level of clarity to their work, but for other people it will just limit what they can easily express in code.

High-level languages like Ruby may contain lossy abstractions that obscure the low-level workings of the machine, but Lisp is another lossy abstraction that has the potential to obscure the high-level, abstruse workings of our own minds. Both of these abstractions can be valuable, but neither is without its shortcomings.

Post reply on HN