This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (1)
- # beginners (18)
- # boot (61)
- # cljsjs (4)
- # cljsrn (12)
- # clojure (60)
- # clojure-gamedev (1)
- # clojure-russia (13)
- # clojure-taiwan (1)
- # clojure-uk (4)
- # clojurescript (62)
- # core-async (7)
- # cursive (1)
- # data-science (1)
- # hoplon (74)
- # lein-figwheel (3)
- # off-topic (3)
- # om (2)
- # other-languages (58)
- # planck (4)
- # protorepl (3)
- # reagent (58)
- # rethinkdb (1)
- # spacemacs (1)
I looked briefly at Scheme and CL before I learned Clojure and walked away from both due to lack of useful library infrastructure.
for instance, from emacs, jump-to-def on a method will pop up a buffer listing /all/ implementations of that method, with handy function signatures and type annotations for each
there is some insane shit in there too, for instance the ability to update all instantiations of a class to a new class definition
which serializes the running lisp image to disk along with a function to call to boot it back up
i could go on, but the best summary i can offer is that in my extremely short career i've learned that the culture of software likes to reinvent all of software every .75 decades, and CL is an example of a 30-year old programming environment that not only solved it all, but did so elegantly, coherently, /beautifully/, and more completely than any of the modern languages i've touched.
I have used Common Lisp for about a year. It was my first Lisp and left me unsatisfied with everything I discovered after it, except Clojure.
Never used it personally (though I’ve had a couple jobs using Common Lisp), so for me it’s more an imaginative mindset to critique and better understand the Unix experience: - the Unix commandline is like a REPL (what they called a “Lisp listener”) - instead of a general language UI, Unix has a system language (C) + scripting language (usually bash) + application languages (Java, Python, Clojure...) - Unix is too static and un-unified to let you click on an object, see its sourcecode, and modify it on the fly - Unix has core dumps rather than a debugger
Though come to think of it, I just got into Docker (which so far I think is unusually nicely-designed); to what extent does the traditional OS matter anymore? If everything runs in isolated containers and communicates via message-passing... seems there’s space for a decent dynamic layer(s) above that.
@arrdem: Oh, forgot to mention: as you probably know, the main Common Lisp hangouts were basically troll cultures, last I checked. Toxic. http://lispforum.com is decent, and so’s LispWorks’ forum (if you use LispWorks).
Ah yes I remember asking a question on a Common Lisp mailing list once. The replies didn't make me feel too good.
Technically speaking the machines we have today are strictly superior in all but ergonomics, and that's a question of investment which markets seem to have shown isn't required.
I think the thing that puts me off about CL, despite its place in history, awesome performance and many features is that it's a very old, very insular culture which has no apparent interest in onboarding people or evangelizing if indeed they have something we don't of which I'm not convinced.
Ah, I should've asked what sorts of things interest you... to see what (if anything) in Common Lisp meets your interests.
@tjg: all good. I spent some quality time here at school doing computer architecture, so this is a particularly sore spot for me 😛
The primary criticism I got of that piece was that LispMs weren't about FP, to which my rhetort is that while they weren't they're being held up by the Lisp/FP crowd of today as some lost Eden which I think is a negative collective self-delusion. I'm inclined to level a similar criticism against the "clisp is better" pattern of thought. The idea that we've meaningfully lost anything in particular is explicitly defeatist and fails to acknowledge the limitations of prior art.
I have moved on. I like a language that embraces immutability from the core, it's my definition of FP: first class functions + immutability. When I only knew Common Lisp I thought first class functions were enough, but no.
Maybe there will come a time when I say: types, monads, etc, else that's not FP, but I'm not yet there.
not to mention the ability to actually stop the chip/nic-equivalent and inspect their states?
i read the schem-76 paper recently and the ability to actually stop and inspect the chip sounds pretty amazing, and pretty far from where we are now.
I mean... it's cool sure but why do you need it? we can still build logical debuggers without it as evidenced by gdb, sbcl, the Java debugging frameworks etc.
i am way out of my depths here, though. all of my formal training is in applied physics, not complang/execution environment design/impl
@arrdem: Interesting article! The criticisms you mentioned getting (about FP) don’t seem relevant to it.
I don’t advocate Common Lisp, but you requested “an apology for why I should look at it.” 🙂 Personally haven’t touched or thought about Common Lisp for a couple years.
There’s circumstances where Common Lisp fits better than Clojure, but privately I consider it a dead language. (Of course, people benefit from learning “dead languages” all the time.)
Though, I think there’s truth to the “lost Eden” mindset. People like Alan Kay point out a slowdown of computing innovation around the 1970-80’s. http://stackoverflow.com/questions/432922/significant-new-inventions-in-computing-since-1980
Some point out that major factors around 1970 are changes in the economy, increased bureaucratization of universities, and privatization of research. (Like in the 2nd half of this article: http://thebaffler.com/salvos/of-flying-cars-and-the-declining-rate-of-profit )