I've been enjoying David Heinemeier's (Ruby on Rails /
37signals) blog lately. The kid has excellent chin, which seems to be
a requirement for dynamic language advocates mingling with the static
language community. In his latest, Serving the koolaid with the
facts, he takes on some of the criticism coming out of the Java
weblogs that targets various aspects of Rails that go against conventional
static language thinking.
It's really easy to take a concept that fails in a given environment and put
it into the that's always bad part of your brain. Later, you see the same
concept in a different environment and the that's always bad fiber starts
blipping like crazy and your mouth starts saying things like, That's
always bad.
There seems to be a trend emerging in conversation between the dynamic and
static language camps that I believe is based in this flaw in the human
mind. There are so many aspects of dynamic language programming that really
just don't work in a static language environment and the opposite is also
true; one is an ocean and the other dry land. Unfortunately, this isn't
immediately apparent and those with strong backgrounds in one environment
have a tendency to misjudge the viability of approaches in another.
Fish? That will never work.
I think the key to overcoming this problem is just to keep on talking. Over
time it will become apparent that you can't measure dynamic language
approaches under the static language microscope and then maybe we can just
get on with things and start figuring out where the two environments can
work together. It is perhaps not an accident that some of the most beautiful
places in nature are the coasts where two strange environments meet.