I mean, use the tool that's best suited for the job. I enjoy exploring Java, the JVM, functional programming and lisp syntax with Clojure. As a matter of fact, I'm working on a project right now in Clojure and having a great time. I use Python at work, and sometimes in hobby projects (though that's being muscled out by Clojure lately).
I agree that there is generally a lot less magic in lisps than Python. There's no magic in Python when you get down to it either, though. And for me, at least, my exposure to Python has helped me to spin up faster with Clojure than I would have otherwise. And my work with Clojure has changed the way I approach solving problems in Python.
Your post concludes with some lukewarm language zealotry. The last two sentences in particular are glaringly false dichotomies. Using Python doesn't mean you don't know how it works. Using Clojure doesn't mean you do know how it works. They're both just tools; abstractions you can leverage to make machines do what you want. You're criticizing the propensity of some people to not learn how the stuff in their toolbox works, which has absolutely nothing to do with the language at hand.
It doesn't matter what tool we want to talk about, odds are there's someone out there using it with their head planted firmly up their butt. Usually it's me, but I take a day off every now and then.
I tried to take care to avoid zealotry, and I qualified my observations with my background experience. I'm not saying that You don't understand python, I just found it hard :-). My experience is not meant to be a universal, just one data point.
I'm not surprised, but it hardly seems like a fair comparison to look at a language with deliberately simple base concepts tailored for the jvm to a couple of languages attempting to implement a set of concepts which are not always a natural fit to the jvm.
Just trying to marry two languages subtly different inheritance models can be tricky, and it's those areas that Clojure so neatly avoids.
The bootstrapping point is interesting, I would like more of the language I work on to be implemented in itself rather than Java, but since the bulk of the runtime implementation is method lookup and other invokeDynamic stuff it would all start to get a little recursive, and I would want to take a very careful look at performance.
I agree that there is generally a lot less magic in lisps than Python. There's no magic in Python when you get down to it either, though. And for me, at least, my exposure to Python has helped me to spin up faster with Clojure than I would have otherwise. And my work with Clojure has changed the way I approach solving problems in Python.
Your post concludes with some lukewarm language zealotry. The last two sentences in particular are glaringly false dichotomies. Using Python doesn't mean you don't know how it works. Using Clojure doesn't mean you do know how it works. They're both just tools; abstractions you can leverage to make machines do what you want. You're criticizing the propensity of some people to not learn how the stuff in their toolbox works, which has absolutely nothing to do with the language at hand.
It doesn't matter what tool we want to talk about, odds are there's someone out there using it with their head planted firmly up their butt. Usually it's me, but I take a day off every now and then.