Archive for August, 2012|Monthly archive page
You don’t often see young MUD coders learning about what’s out there before they sit down to write their own codebase. I first wrote that line several weeks ago. For the past few days, the DGD mailing list has been swamped with email from a fellow who has decided that the existing codebases for DGD are too complicated and intricate to bother understanding, so he’ll write his own that works better. He seems to be a quite decent coder, yet he uses that reasoning. Am I the only one who sees that as a fundamental contradiction?
New programmers set out to solve problems, to write a grand new codebase, and that’s wonderful. But why do they read through only a little documentation, and only two or three existing codebases at most?
I believe that the very biggest reason is a lack of existing literate coders. The various MUD camps (MUCK/MUSH/MOO, Diku/Merc/Rom, LP*) don’t mingle much, and few people know a reasonable amount about more than one of them. It’s hard to become literate in existing MUDs if you have no role models, no overviews and surveys, no people who can answer broad questions like “has anybody ever tried this before on a large scale?”. It’s hard to become a literate coder in a vacuum, having nobody to compare notes with. The lack of decent programming documentation for any existing MUD doesn’t help. Reading source code takes a lot of time and effort, and few new coders understand just how important it is. So few of them bother to do it.
At this point, it’s obligatory to mention brash young programmers, considering themselves cowboys, who are going to revolutionize the world of MUDs all by themselves, and how they start over not because the existing code is bad, and not because they know nothing about it, but because that’s their way.
Balderdash. I’ve gone to school with those brash young programmers, worked jobs next to them, trained them in programming, worked with them on open source projects in 3D graphics and 3D modeling… MUD programmers aren’t all that different a breed. They’re just in a deceptively easy-looking discipline and have nobody really impressive to compete against. They are neither good software engineers (who is, when they start?) nor awed. They believe they can do everything that the existing codebases can do, given enough time. And sadly, they’re mostly right. At least, if they had a decade going spare.