5 ms·
I spent about an hour looking at noir (the clojure web framework) and here are some terribly shallow and scattered thoughts on the matter. I learned scheme som
by chriszf 14y ago
I spent about an hour looking at noir (the clojure web framework) and here are some terribly shallow and scattered thoughts on the matter.
I learned scheme some 12 years ago and have always liked it, but somehow have never felt comfortable with either clisp, elisp, or even arc (sorry PG). Clojure, on the other hand, makes me pretty happy the way scheme did. It is a joy to use, except for the jre startup time.
To put things into context, the reason I learned scheme was to be able to learn computer science without any particular language getting in the way (yes, it was a SICP course). Scheme was as close to 'no language' as it gets. It is infinitely flexible in its simplicity. Imagine, in a language where the only native data structure is a linked list, adding object-orientation without metaprogramming trickery. It's madness! Well, it's unthinkable if you look at it from an algol-derived language background at least.
So where was I. Right, noir was pretty good. For the rubyists out there, it's very much like sinatra plus haml. As a side note, when explaining lisp, I like to use html as an example of how XML is essentially a bad lisp. Seeing lisp actually being used to generate html gives me the heeby-jeebies, though, and I don't know why. I'm sure it's fine though.
Enough of the niceties, here's where crankypants grandpa programmer comes out. You preface your question with the notion that you want to learn lisp to become better at your craft, which is great. However, when it finally comes out, your question reads, "is it worth switching away from the commercial viability of my current environment?" The answer is, of course, no, as Lisp is so rarely used in the wild that it doesn't make commercial sense. My problem is that you are conflating the value of a language with the value of learning that language.
At this point, learning lisp will likely make you a better developer. But to be honest, learning any other language, or even just another framework will make you a better developer. Think of it like vision. If you look at software development through the lens of RoR, you have only one perspective. Learning python gives you a slightly different second perspective, and thus you perceive depth. The farther away the viewpoint, the better your understanding of its depth. The viewpoint from lisp just happens to be very far away.
The key word here is learning. Even if you don't use it because of limited commercial adoption, the act of learning lisp improves your skill and understanding of your craft. If you have pride in your work, then that is always worth it.