15 ms·
I was exposed to Common Lisp in college in a "Programming Language Concepts" class, almost 20 years ago, and it didn't "click". I got no help or assistance or
by the-alchemist 4y ago
I was exposed to Common Lisp in college in a "Programming Language Concepts" class, almost 20 years ago, and it didn't "click". I got no help or assistance or explanation, and this was pre-youtube and Google so it was hard to find an answer to "why is this happening?"
But I gave Clojure a try despite the bad taste in my mouth Common Lisp left, and it was def worth it.
To try it out real quick: https://tryclojure.org/ https://tryclojure.org/
- gleenn 4y agoI also remember learning Scheme and having it be a real mind bender. Scheme/Racket is great, but I think Clojure being more opinionated and being immutable by default is a huge improvement in terms of understanding larger projects. Also, their parallel computation and mutex constructs are some of the easiest to understand AND easiest to guarantee you did it right. This is going to continue becoming more and more important given the huge rise in CPU core counts both on desktops and in servers.
- singaporecode 4y ago
- edgyquant 4y agoI love clojure but hate that’s it a JVM language
- jakebasile 4y agoClojure is a hosted language - it runs on the CLR and in JS/Node too. That said, the JVM is wonderful and Clojure is the best way to access it.
- saghm 4y agoThe main reason using the JVM for clojure seems a bit weird to me as an outsider is that from what I understand, the JVM will never use tail recursion, and preferring iteration over recursions is a bit strange for a lisp, and doubly so for one that values immutability so highly.
- jakebasile 4y agoOften recursion is fine and doesn't cause any problems. I just use 'reduce' or 'loop' if it becomes an issue. I've used Clojure for close to a decade. It's been an issue maybe once. The JVM is absolutely a plus for Clojure.
- medo-bear 4y agoits not that strange. common lisp also prefers iteration over recursion
- capableweb 4y agoThe main reasons for Clojure to use the JVM was (IIRC) twofold: Access to a large ecosystem where basically every idea has a library available already and being immediately productive because not needing to learn a new runtime (+ previous point of libraries already being available). With those two reasons in mind, at the time Clojure was created, it made a lot of sense to use the JVM.
- EFreethought 4y ago"it was def worth it." I see what you did there.
- lispm 4y agoYou can use Common Lisp, since there is more assistance now.