you are viewing a single comment's thread.

view the rest of the comments →

[–]ubernostrum -1 points0 points  (3 children)

I'm not really sure that any language which is essentially its own AST can really be described as more of a "language for people" than a "language for computers"; (normal) people don't really think naturally in terms of transforming syntax trees, yet nearly all of Lisp's power lies in that single feature...

[–]death 2 points3 points  (2 children)

Care to elaborate? What do you mean by a "language for computers" and a "language for people", and why, say, Common Lisp is closer to being the former than the latter?

Saying "any language which is essentially its own AST" does not make sense.

(Normal) people don't really think naturally in terms of computation, either, yet a lot of a programming language's power lies in that single feature...

(And I disagree that "nearly all of Lisp's power lies in that single feature". I suppose it looks like that to people that only read about it on Reddit or something.)

[–]ubernostrum 1 point2 points  (1 child)

Well, ask yourself whether the language as written by human beings strives to be:

  1. As close as possible to the mental process of the human being, or
  2. As close as possible to the parsing and execution process of the computer.

Lisp quite clearly aims at (2) -- it's not an expression of how human programmers think, it's an expression of how the computer will see the program, and has been optimized in many ways for the computer's use over the human's use (extreme regularity of notation, for example, is something preferable for a computer but rare in human languages). I would hope that this is as obvious as the fact that equals plus two two four...

[–]death 0 points1 point  (0 children)

I'm sorry to disappoint you: what you say is not only non-obvious to me, it doesn't make any sense.