2 ms·
Clojure was the first Lisp I learned, and I started using specifically for its concurrency support, not the fact that it was Lisp. I later grew to love Lisp an
by tombert 3y ago
Clojure was the first Lisp I learned, and I started using specifically for its concurrency support, not the fact that it was Lisp. I later grew to love Lisp and played with other ones.
I bring this up, because I am curious which “Clojurisms” annoy you? I probably didn’t notice them because I wasn’t used to other lisps when learning it.
- bitwize 3y agoCommon Lisp and Scheme are built on s-expressions which are lists of symbols and other atoms. All of the core syntactic constructs are based on this. Clojure decided to add in other syntax for things like arrays and maps. Which, okay, fine, other Lisps have syntax for those things too but Clojure built syntactic constructs out of these and that just messes with my Lisper brain. The way let, fn, and defn work... ugh. A lot of Clojure people might be like "I don't see anything wrong with it, in fact I prefer things the Clojure way." Whatever. You do you, man. I just can't with that. Kawa Scheme for me every time if I want to Lisp with Java libraries. Second place, ABCL.
- pjmlp 3y agoAs someone that learned Lisp in the 1990's, starting with The Little LISPer, all the way to classics like The Art of the Metaobject Protocol, dusty digital copies of Xerox and Genera manuals, with a little XEmacs Elisp on the side, I am perfectly fine with Clojure's design decisions, and is also the only Lisp like language I still reach for. The discussion about parenthesis is a bit ridiculous, but unfortunely their visual distribution does matter, and Clojure is more appealing to folks without Lisp/Scheme background.