freenode/lisp - IRC Chatlog
Search
23:47:44
aeth
perryx: Common Lisp has better performance, is more multi-paradigm, and has natively compiled implementations. It's more traditional of a language, so mutability is fine. Clojure has better Java/JVM integration than ABCL (the JVM CL, which is pretty niche) and focuses on concurrency so it's probably easier to write programs in Clojure if they're in the style of the niche that Clojure is aimed at.
23:48:41
aeth
Well, at least it was easier. The Clojure hype machine really died down in the past few years.
23:49:36
aeth
Definitely post-peak. https://trends.google.com/trends/explore?date=all&geo=US&q=clojure
23:51:37
pjb
even compared to scheme: https://trends.google.com/trends/explore?cat=5&date=all&q=clojure,scheme
23:51:55
aeth
pjb: You can't Google Trends "lisp" because it's a regular dictionary word, and it's also a language family. Unfortunately, it's also often used interchangably with "common lisp", which is often also called "CL" or (erroneously because it's just an implementation) "CLISP". So I don't think you could come up with a query to find CL interest.
23:52:28
aeth
Even language trends sites often have "Lisp" separate from "Common Lisp", "Scheme", "Clojure", and "Emacs Lisp", which then really raises the question "what are they measuring?"
23:53:31
aeth
and "scheme" will still get you stuff like "foo scheme" as in e.g. "the encryption scheme of..."
23:54:16
pjb
Perhaps google is smart and if we compare clojure with something it'll find the somethings in the same semantic category as clojure?
23:57:17
aeth
Common Lisp is a very multiparadigm programming language. You can write in many, many different styles. It's rarely opinionated.
23:59:24
aeth
It's also a multi-implementation language. There are three or four that are popular in this IRC channel, and a few more notable ones, too.
0:02:32
aeth
The advantage is that it's robust and people have generally settled on the fastest implementations with the most helpful compilers, but could switch if another one is better some day. The disadvantage is that you need multiple separate teams to implement features before you can really widely use them.
0:06:27
aeth
10-20 years ago "everyone" (not really everyone) wrote for CLISP. Nowadays, "everyone" (again, not literally everyone, but most) writes for SBCL. That same code is now probably 10x faster with little to no porting work as long as people didn't use implementation-specific features.
0:10:45
aeth
But if you have some other need (like being easy to port to new platforms or running on the JVM) you can run a different implementation and it should be compatible with almost every library.
0:14:50
aeth
To be fair, Clojure has two implementations that I know about: JVM and JavaScript. CL's implementation-based approach is much closer to C/C++, though. The advantage CL has over C/C++ is that with C/C++ different platforms have different preferred compilers so you have to deal with cross-OS *and* cross-implementation issues.
0:14:55
aeth
With CL, there is no expectation to use $foo on $os1 and $bar on $os2 with the possible exception that CCL runs better on macOS.
0:22:50
aeth
Lots of people will list features like reader macros, CLOS, etc., but what impresses me the most with CL is that there are multiple independent and healthy implementations that are library-compatible with each other (compare this with Scheme, which has as many or more implementations but is very fragmented) even though the CL community is fairly small