

Dynamic JVM Language Complexity - swannodette
http://gtrak.wordpress.com/2012/01/14/dynamic-jvm-language-complexity/

======
mattdeboard
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.

~~~
gtrak
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.

------
aardvark179
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.

