Bruce Eckel is trying to cultivate bloggingas a genre for expressing ideas that aren’t yet complete thoughts. “I now believe there are three modes of written communication: books, articles, and ideas. The first two I have long experience with, but I lack a medium for ideas. ”
Eckel draws an interesting connection between initial simplicity — getting something out quickly — and elegant simplicity, which takes a lot of work to prune a complex expression to a simple form. They aren’t the same thing at all, but getting material out into the world helps give you the feedback that lets you refine and polish.
What is the balance between simplicity and expedience? “Do the simplest thing that could possibly work” is certainly not saying “do the most elegant thing” because the goal is to get something working, without too much effort, so that you can try it out and see if it solves any portion of the problem. “Trying it out” is what will produce the valuable information that can be fed back into the next iteration, and will also begin to tell you what’s most important about the problem.
I wrote something similar long ago(Nov 8 2000):
Less is definitely more. The other place where simplification has been a major theme in recent years is software design process. ‘Extreme Programming’ being the original set of fairly radical ideas for streamlining code production. Even those who don’t fully agree with the whole thing see value in parts of it (hybrids brand themselves as ‘Agile Development’).
As for ‘put it out there to get feedback so you can refine & polish’… sounds like the bazaar/open source development model to me.
Both of which point to a similarity between developing and refining code and developing and refining ideas. Hrm. Is anyone really suprised by this?
–pj