Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The syntax for me is a drag on the language. Make me spend more than a 2 seconds trying to untangle parameters from function name and you lost me.

What I think made the language special is its level of abstractness. Unless I am mistaken, it is the first language where you could manipulate function as a first-class citizen. This and the ability to use closure. 60 years ago, it was really innovative.

Now, javascript does it...



Definitely first-order functions made LISP powerful compared to its contemporaries-- but also you can't mention abstraction without mentioning macros. Macros are first-class metaprogramming, and very much enabled by the uniformity of s-expressions.

That said, people can do awesome stuff with any language, so all this is very subjective IMO.


The function name is the first item; the parameters are the others: (fun x y z).

Some Lisp dialects separate the two further in definitions:

  (defun fun (x y z) ...)
The Scheme style is "definition follows use": the definition looks like the call:

  (define (fun x y z) ...)
Now if the function name above were actually y and not fun, I'd have to spend more than two seconds separating it from the arguments fun, x and z.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: