4 ms·
minimalistic syntax isn't necessarily the holy grail. We can't pinpoint exactly why Clojure is hockey-sticking but Common Lisp didn't[1]. But Clojure took a min
by dustingetz 15y ago
minimalistic syntax isn't necessarily the holy grail. We can't pinpoint exactly why Clojure is hockey-sticking but Common Lisp didn't[1]. But Clojure took a minimalistic language, then made a few very tactical departures from minimalism - common data-structures have native syntax encouraging people to use more than just lists, and the native data structures are immutable encouraging a functional style. from this we learn that minimalism is a great base, but the langage forms opinions about what code should look like via its syntactical choices, and these opinions shape its community, libraries and ultimately its success. language designers must take this into account.
with that said, you can do "concatenative" programming in any language supporting a functional style (python, ruby, clojure, haskell, javascript), and some of these languages (clojure, haskell) encourage or force functional style. clojure and haskell have different opinions about how this should be done, but they are opinions, not gospel, and each has their use for different problem domains and personalities.
the author makes some assertions that a "concatenative" language, one that encourages a concatenative style, are better than functional languages. i don't think these opinions were adequately backed up at all - i'm not just skeptical, i sort of think he's wrong. both clojure and haskell strongly encourage composition over application. these languages already have concatenative opinions. i don't really see the fuss here, i don't see the need to introduce more metaphors into an ecosystem which is already unfriendly to noobs. what we need is a language as noob friendly as python which has functional opinions. ruby got noobs using lambdas without realizing it, but ruby also has some weird opinions about magic which the functional community frowns upon. there's a clear niche here.
[1] (edit for gruseom) but we can try to learn from those who are successful, especially those who failed a few times first. Martin Odersky has written all about his failures leading to Scala, and Rich Hickey talks about what he thinks made Clojure successful all the time.
- gruseom 15y agoWe can't pinpoint why Clojure is hockey-sticking but Common Lisp didn't. That's exactly right. But then you go on to do just that ("from this we learn...") in a bogus way. We don't know what drives these things. All we have are competing arguments from personal preference.
- evincarofautumn 15y agoI never said concatenative style is better than functional style (outside of very specific examples), so the person you think is wrong doesn’t actually exist. Anyway, I agree all around. Although you can’t say for certain what makes a language popular or not, I think that picture of Clojure is pretty accurate. And I would love to see a functional language as powerful and carefully designed as Haskell, without all of that language’s minor annoyances and barriers to entry. Even though the Haskell culture is great, it’s unfortunate (to paraphrase SPJ) that they picked the scary term “monad” instead of “warm fuzzy friendly thing”.
- gnosis 15y agoThere's one simple reason why Clojure is getting so much momentum: Java. If it weren't for it sitting on the JVM and having access to all those Java libraries, Clojure would have been dead in the water.
- weavejester 15y agoThere are several Lisps on the JVM that predate Clojure by a number of years, so whilst the JVM may be a factor, it's not the only reason for Clojure's success.