5 ms·
I think the author misses the biggest reason why lisp never caught on: too many developers are simply aversive to s-expressions. Maybe Clojure, with its slightl
by m0th87 16y ago
I think the author misses the biggest reason why lisp never caught on: too many developers are simply aversive to s-expressions. Maybe Clojure, with its slightly richer syntax, will solve this.
- Homunculiheaded 16y agoThe problem with this argument is that it's one of the key reasons most lispers like lisp and where the language draws many of it's strengths. You're essentially writing an AST, which gives you lots of flexibility and makes things like advanced macros and DSL programming viable solutions to problems. A dislike of s-exps may fall in the "too smart" problem category.
- cageface 16y agoOther languages have absorbed just about all the other key lisp ideas. Garbage collection, first-order functions, dynamic typing etc are all uncontroversial now. I don't think it's an accident that s-exprs have been conspicuously unpopular in comparison. I actually find the Clojure syntax harder to parse. Nested mixtures of }, ], and ) are very difficult to pick apart visually.
- oconnore 16y agoMacros.
- adambyrtek 16y agoWhat about them?
- oconnore 16y agocageface missed the major reason why Lisp in general is powerful: prefix notation is really the only clean way to implement macros. The rest is just icing on the cake.
- cageface 16y agoS-exprs == macros
- oconnore 16y agoThose two things are not equivalent at all. I don't think you understand what you are talking about. S-expressions define a class of syntax styles. By themselves, they have no semantic characteristics at all. Macro's are a way in which the compiler rewrites the syntax tree based on user programs. Do you see the difference?
- gnosis 16y ago"Nested mixtures of }, ], and ) are very difficult to pick apart visually." And nested ), ), and ) are easier to pick apart visually? At least with }, ], and ) you know any given } matches a { and not a ( or a [. Whereas with all )'s, it's a lot harder (for me) to know which ( in a mountain of ('s it's going to match. A good editor and proper indenting will, of course, mitigate some of the pain. But I'd MUCH rather have a mix of {'s, ['s, and ('s, than all ('s.
- cageface 16y agoAnd nested ), ), and ) are easier to pick apart visually? You don't have to pick them out in CL, just balance them. Much easier (IMO).
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- technomancy 16y agoYou don't have to pick them out or balance them in any lisp. That's what paredit is for.
- officemonkey 16y agoSo easy that a decent text editor can do the job.
- Xurinos 16y agoAt least with }, ], and ) you know any given } matches a { and not a ( or a [. Whereas with all )'s, it's a lot harder (for me) to know which ( in a mountain of ('s it's going to match. I have found the opposite. It's a lot easier to close with a bunch of )))s at the end of a line than to flip around with the )]}]))} line noise. I let my code's structure give me meaning. I am less concerned with matching things and more concerned with readable code arrangement. It is easier for me to read English-like words than a bunch of symbols. As a result, the ))s are almost equivalent whitespace with the exception that they provide useful and common structure.
- nene 16y agoYou can't introduce s-exprs into an ordinary language - it would cease to be an ordinary language and become a Lisp dialect instead.
- sedachv 16y agohttp://weblog.raganwald.com/2007/01/what-ive-learned-from-sales-part-i.html http://weblog.raganwald.com/2007/01/what-ive-learned-from-sa... The whole "nobody likes s-expressions" is as well-worn and pointless a cliche as "I miss Lisp boo hoo."