Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"But it’s worth learning a language when you pick up fundamental new ideas that might be helpful (or just interesting)."

I couldn't agree with this more. I've spent the last 6 months or so learning Clojure just for the sake of it. I definitely think I'm a better programmer because of it, regardless of whether the language itself is actually "real world" useful.



I definitely think I'm a better programmer because of it

I'm also curious to know if that's because of Clojure itself, or because it is the first Lisp you learned.


I'm familiar with Java, so I've found it easy to hook up with libraries I already understand and just crank out code. When I've tried Common Lisp before I've always struggled (probably because the barrier to understanding was higher) to find libraries to do things like Graphics and GUI work.

I've been working my way through PAIP (using Clojure instead of Lisp) and that's given me a good sense of Lisp style (I hope). I've found that just the act of typing in the code and converting it over to Clojure has helped me grok some of the functional programming concepts I was struggling with (slightly reminiscent of typing in classic arcade games on my ZX Spectrum!).

Clojure has been my catalyst to understanding Lisp-like concepts, and if I had to give one reason for that it would be just having access to all the Java libraries.


Curious if you have used lisp before, or if you have used java, or both. I hear some pretty good real-world stories about Clojure.


I have used Common Lisp and Clojure, both at a novice level (so take this with a grain of salt).

I really appreciate Clojure's concurrency / STM mechanisms. I think they're very well thought out and pretty straightforward to use. Additionally, the ability to use libraries from the Java ecosystem is really, really, really nice.

Common Lisp has some really nice things as well (for the purposes of this post, I'm referring to SBCL). I have a very deep appreciation for the flexibility of CL - being multi-paradigm is one of its charms, and it feels like the most flexible language I've ever used. When I first started messing around with CLOS, I immediately hated every other object system. Cells is pretty awesome too, although I hear it's being ported to Clojure right now.

I also really like that all the libraries are also written in Common Lisp; although it may just be my preference for "turtles all the way down".

Clojure wins from a deployment perspective; CL wins from a tooling perspective.

I would say there is a definite trade-off between the two, but as it stands today, they are both very solid choices.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: