This post originated from an RSS feed registered with Ruby Buzz
by David Heinemeier Hansson.
Original Post: The road to harm is paved with good intentions
Feed Title: Loud Thinking
Feed URL: http://feeds.feedburner.com/LoudThinking
Feed Description: All about the full-stack, web-framework Rails for Ruby and on putting it to good effect with Basecamp
James Robertson offers a perspective from the Smalltalk camp on the latest meme in Java with Generics Considered Harmful. He charges that its paradoxical to see Java struggle with the immense complexity of generics when the foundation of the language was to dumb things down and make them accessible to the lower levels of the pyramid:
[Joshua Bloch] said that he (and the Java team at Sun) saw the community of developers as a pyramid. The Smalltalkers are up at the peak, and are smart enough to handle all the power they have. He told me (no, I didn't imply this - it was him) - that the Java community was primarily the lower two tiers (imagine 5 in this pyramid) of developers, and simply couldn't handle that kind of power - so Sun had to shield them from it.
I have to concur with James on the depressing implications of such a statement. And most importantly, I don't think it works. Java has become a mace of complexity because of the attempt to shield developers from it. So that screws up the intention to help the lower levels.
But what about the higher levels? How are you going to appeal to that group with a language "dumped down" for the masses? Titles might be one answer. Especially the coveted "architect" label fits well in seeing the hierarchy of programmers as a line of command.
It's a fleeting sensation, though. I believe that's one of the reasons why we're seeing a surge in interest around dynamic languages. The realization that more powerful can lead to less complexity is definitely dawning on a lot of people. And that a lot of the good ideas and patterns can be re-expressed in languages like Ruby for great gain.
When I talk about Ruby on Rails that's often how I bill it. It's the release of good ideas from the captive of complexity. The work, from among others, the top tiers in Suns pyramid put in a context where all tiers of the pyramid can comprehend and forward them.
That's how you can get this funny world where the top tiers of the pyramid are enjoying a life without unnatural restrictions and people just entering the pyramid can love the lack of complexity.