Lots of people have read Doc's analysis and
expansion on Friedman's "flat"
world theory. I only just got around to reading it this morning
- it seems that the frequent short outages that Comcast is
providing me (at no extra cost!) have some purpose after all. What
struck me was a combination of Doc's post and a few conversations
I've had at trade shows over the last few years.
It's worth reading the entire essay, but let me expand on a
small piece of it:
Of course, the average and the dumb are still
plentiful, no doubt about it. But try this concept on for size:
most of them were made that way. They were shaped in large measure
by school systems that have had, from the dawn of the industrial
age, a main purpose: to produce employees for boxed positions in
corporate org charts that take the shape of pyramids, wide at the
bottom and narrow at the top. The many supporting the few. We may
have needed a caste system that made each of us a ranked
product--and we still call ourselves that--of an education. There
were few alternatives in the industrial age, aside from farming and
other relatively solitary occupations. But there are plenty of
alternatives now, as many as there are individuals with access to
broadband.
What struck me about that? Well, a conversation I had at
Ot2004 with Joshua Bloch, first off. I attended a
talk he gave on designing good API's. I had a few issues with
what he said at the time - I happen to think that things like
"final" declarations on a class are not only limiting, but
downright harmful. The fascinating thing was how he responded - he
didn't disagree with me outright. What he did was state that
developers exist in a pyramid, where the Lisp and Smalltalk guys
(and Ruby and Python, et. al.) are at the top - developers using
truly dynamic languages are, in his opinion, smart enough to deal
with unlimited inheritance and polymorphism. The rest of the crowd?
Java was designed with the lower two tiers of the pyramid in mind -
the wide band of average and below average developers.
Got that? Read Doc's take on the whole pyramid scheme again, and
then realize that Sun's decisions on what to do with Java are
premised on the idea that most developers using it are idiots who
are incapable of dealing with freedom, and simply have to be
protected from themselves. At OOPSLA a couple of years ago I got
the same explanation from Hjelsberg when I asked him about "final"
in C# - again, his take is that most of you just aren't bright
enough to handle Smalltalk, or Lisp, or Python, or Ruby (etc) - you
need to be protected from yourself.
Reminds me of a line from "A Few Good Men" -
The truth? You can't handle the
truth!
That's what Sun and Microsoft are telling you with Java and the
CLR based languages. You can't handle power or responsibility - it
all has to be bottled up and granted to you in small doses, because
you just aren't smart enough to deal with the whole thing. From
their standpoint, you live at the bottom of the pyramid, and
they've provided tools that are guaranteed to keep you there. They
know what power looks like - they just don't think you can handle
it.