[MUD-Dev] [DGN] Creating a MUD

Fred Clift fred at clift.org
Tue Jun 4 11:16:10 New Zealand Standard Time 2002

On 3 Jun 2002, Edward Glowacki wrote:

> The most important class if you're going to build a MUD is
> probably software engineering, i.e. how to design software the
> "right way".  In the software engineering class I took, we learned
> things like modularity, abstraction, modeling, model checking,
> requirements analysis, testing, etc.  Personally, I wouldn't ever
> want to tackle a large project without the knowledge I gained in
> that class.

Hm - I personally would flee in terror from most so-called
software-engineering classes.  Until software-engineering can make
mediocre programmers produce safe/good/stable software, it will stay
software apprenticeship.  The point of most engineering schoosl is
to take anyone who has enough patience and is willing to put the
effort in, and make them into someone who can design a safe
bridge/car/electronic circuit/etc.  Engineering is all about rote
formulas/procedures that even mediocre people can follow to produce
a good design.  All the rubbish I've seen touted as
'software-engineering' really just ends up being "well, this workded
for us and you should probably do something like it".  Computer
Science, for the most part isn't science - computability theory,
algorithms - those are science, but the rest of the field is just

I'm not saying you shouldn't take the class, but I would suggest
you'd be better off in the long run if you relied more on the
science-type courses in the CS major where you will actually learn
to use your brain.  Learning to think clearly is far more important
than learning what abastract modeling techniques your acedemic
professor things are cool.  This is not to say that doing something
over and over as an apprentice isn't helpful -- it's essential, but
I wouldn't necessarily look to your classes to fulfill this

> Also pick up on an open source development project that interests
> you. You'll learn a lot about what's needed in the way of
> infrastructure (mailing lists, website, documentation, etc.) for
> your own project as gain an understanding of how to build your
> stuff so that other people can help (assuming you do want other
> people to help code/document/build/etc. at some point...).

I totally agree with this.

In a (4th year CS) class I was once in, the professor, on the first
day of class, asked us (paraphrasing) "In the last year, how many of
you have written a program or worked on software just because you
wanted to - one that wasn't an acedemic requirement of some kind?"
Out of the class of 40ish students, I and one other person raised
our hands.  It boggled my mind at the time - I mean, computers are
just so cool - look at all the stuff you can make them do, how much
fun they are etc.  (Of course I was a 'junior imp' on a mud... I
have no idea what the other guy was doing).  I personally have found
the experience I gain on open source projects (FreeBSD) and on the
mud I (still) work on to be very helpful in keeping me aware of a
very wide variety of things that I would otherwise miss if I just
did my 'work'.

Good luck.


Fred Clift - fred at clift.org -- Remember: If brute
force doesn't work, you're just not using enough.

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list