We celebrate PatternLanguage
s as a literary form that reaches parts of our mind usually not touched by the prevailing ComputerScience
literature. Other generative literary forms exist, including koans, metaphors, and parables.
I was trying to reduce a problem to a pattern while out biking in the rain yesterday and found that a parable form had much more impact. Of course, I probably can't remember the same striking formulation I had out there on the road, but will try. Please add your own, too.
See also DiscussionPatternCousins
The novice advertises a PatternAutomationTool?
for the taking via anonymous ftp, and no-one uses it. Once turned consultant, makes a tidy sum marketing the tool for $250.
An apprentice software engineer approaches a Master software engineer and explains "I have been appointed lead on the next design effort. I will find unique and distinct ways of solving the problem. I have seen other implementations of the project application and I am sure I can do better." The Master merely shakes his head in pity and walks away.
A month later, the same apprentice approaches the master defeated and says "Master, the design is taking far too long. I feel like I am stuck on what should be the most trivial issues. Is there something you can give that can help me?" The Master smiles and presents the apprentice with a freshly printed copy of his latest PatternLanguage
(written especially for efforts in which the apprentice was involved). The apprentice accepts the bound pages, perks up and walks away confidently.
Another month later, the same apprentice approaches the master gleefully waving the Master's PatternLanguage
print-out and explains "Master, your patterns are wonderful! Not only did they give me new insight into how to solve my problems, but they imparted a great deal of wisdom on how many of my design issues were common and have been addressed time and time again by other masters. In fact, I recently finished work on a tool to automate the application of your patterns. It will be as simple as picking the right patterns and telling the tool to generate code. My manager thinks that it's great and he says that all new projects will design their applications using the tool. You, sir, are a hero!"
At this, the Master promptly takes his bound copy of the PatternLanguage
away from the apprentice and rips it to shreds. He then angrily casts the torn papers to the floor, shakes his head disapprovingly, sighs, and walks away.
Perhaps there is a ParablePattern
There are many "geekized" versions of such stuff floating around the net, but I think this is gilding the lily. SunTse
wrote about patterns, organizations and harmonious engineering in a very accessible and pragmatic way, which is why their words survive several millennia. There's a lot of good development strategy in these three. -- PeterMerel