4 ms·
Having spent some time programming in Clojure, for the purpose of expanding my brain, I suspect a better Lisp to start with might be one of the classics - Racke
by vosper 9y ago
Having spent some time programming in Clojure, for the purpose of expanding my brain, I suspect a better Lisp to start with might be one of the classics - Racket, Common Lisp, etc... One of the reasons I gave up on Clojure was the lack of documentation of libraries, the bad debugging experience (those stack traces!) and the fact that there's no avoiding the JVM. They're all distractions to the learning (that was 2 years ago, I'd be happy to hear that things have changed).
I think Clojure is a great language, but if you just want to expand your mind via a Lisp then I think you'll get more for your time with another implementation.
- jiyinyiyong 9y agoAgreed. Debugging Clojure(Script) is a pain. Although I still need to use ClojureScript.
- zimablue 9y agoI had a similar experience, trying to learn clj/cljs before I know java, javascript or the web stack. I am a classic arrogant developer (I'll learn it all at once as I go) but in retrospect it was honestly a mistake. If I'd learned basic web servers+node+react/redux then Clojure I'd know more of both than doing it in reverse.
- hellofunk 9y agoCommon Lisp is much more complex and challenging. Also, it is not really a functional language in the way Clojure is; it offers mutation, OO and imperative programming as its normal paradigms.
- peatmoss 9y agoI can occasionally get away with writing Clojure for "real" work, but for hobbying (and inshallah for real work someday) my goto is Racket. I feel like Racket is something of an optimum among the lisps in terms of brain expanding, modernity, tooling, libraries, docs, and community.
- aaron-lebo 9y agoI tried Googling bcrypt; one C wrapper that hasn't been updated in 3 years pops for Racket, there's at least 3 recently updated libraries for Clojure. I'd suspect the library availability is gonna be similarly tilted in Clojure's favor in most domains. Clojure has lots of compelling and new stuff - Figwheel, re-frame, Neanderthal. What's Racket's killer library that's doing something no one else is?
- throwaway7645 9y agoIt will eventually use Chez Scheme as a backend since CISCO open sourced it. Chez is really fast and lightweight.
- vosper 9y agoDoes that help with the issue of outdated libraries at all (I don't know anything about Chez Scheme)?
- throwaway7645 9y agoNot an expert, but I'm guessing it could only help through increasing adoption. If Racket was blazing fast, a lot more people would consider using it and more libraries would be built and maintained.
- peatmoss 9y agoI don't think anyone will claim that any JVM language or node doesn't handily best Racket in terms of sheer numbers of libraries. What Racket does have are solid core libraries with good docs. I don't know about "killer" but Racket's continuation based web server was / is novel (maybe first?). https://docs.racket-lang.org/web-server/ https://docs.racket-lang.org/web-server/ Also, it's not a library, but the whole #lang thing seems to be the coolest game in town for implementing DSLs and other more fully featured languages.
- totalperspectiv 9y agoI agree. I read through Clojure for the Brave and True, and played with it a bit, but it was too much new stuff at once coming from an only Python background. I'm reading Structure and Interpretation of Computer Programs right now and everything is clicking. I'm looking forward to going back to Clojure after I get through more of SICP.
- DigitalJack 9y agoMany people say that clojure is the one that clicked for them, but I suspect it's really not due to clojure itself, just that it's more recent and likely not to be the first lisp people have tried to learn. I think the exposure of trying to learn different lisps is the key, and when you get to a point where one clicks, run with it!
- Hasknewbie 9y agoRacket especially has a very accessible IDE, thorough documentation, and a few interesting books targeting different audiences. Plus, it's de facto a Scheme, so you can work through SICP with it.
- flavio81 9y agoI fully agree, and there are already great books for easily entering those worlds: Scheme: The Little Schemer (a classic) Common Lisp: Land of Lisp (a truly remarkable, quaint book: learn Common Lisp by programming classic games; full with really funny cartoons.) Practical Common Lisp (really excellent way to learn quickly, modern. Freely available.)