“SharpDevelop was designed for Windows, which as of now, does not have the range of developer-targeted operating system services that Linux does. In Linux, there is really no reason to code a custom `grep’ and `sed’ for MD, we can just use the same code as these tools do. The less code in MD, the fewer bugs we have to deal with and the more time we have to spend on features that will make MD shine.
“In addition to maintainability, we get another freebie by using standard toolkits: consistancy. A Linux sysadmin, no matter where he is, knows how the system’s grep generally works. He does not need to look at the manpage each time he uses the tool because it is the same.”
– from Ben Maurer’s blog:
http://codeblogs.ximian.com/blogs/benm/archives/000131.html
This post illustrates how Ben Maurer and Steve Jackson operate according to the same principles of design. Just substitute “GM” for “Linux Sys Admin”, “GURPS basic set” for “toolkit”, and think of “MD” (MonoDevelop) as being a sort of world book….
But there are other principles at work in good design:
“There’s one kind of simplicity that I like to call simplexity. When you take something incredibly complex and try to wrap it in something simpler, you often just shroud the complexity. You don’t actually design a truly simple system. And in some ways you make it even more complex, because now the user has to understand what was omitted that they might sometimes need. That’s simplexity. So to me, simplicity has to be true, in the sense that the further down you go the simpler it gets. It shouldn’t get more complicated as you delve down.”
– Anders Hejlsberg (Designer of C#)
http://www.artima.com/intv/simplexity.html
I think Gary Gygax’s original AD&D is a good example of “simplexity.” People are complex. Wrapping them up into “class” and level” concepts merely shrouds their complexity.
The GURPS Basic Set, however, is a good example of “true simplicity.” The abstractions used in GURPS pretty well encapsulate everything that really goes into the whole concept of “character”. And the simplicity is actually “true” in some sense. A “fighter” might be pretty good at sneaking around even though he’s technically not a “thief”– just like a programmer might also be a good musician.
Of course, I also think Ogre and Car Wars are examples of good design, too.
Leave a Reply