[MUD-Dev] Re: DevMUD: Inheritable modules

Niklas Elmqvist d97elm at dtek.chalmers.se
Sat Oct 31 01:01:57 New Zealand Daylight Time 1998


On Fri, 30 Oct 1998, Jon Leonard wrote:
> On Fri, Oct 30, 1998 at 02:12:22PM +0100, Niklas Elmqvist wrote:
> > Not to be grumpy or anything, Jon, but... I thought that the DevMUD
> > project would involve members on the list. I really would like to make a
> > difference, I've tried to offer my view on things and I would appreciate
> > if vital design issues such as this are discussed throughly.  I, at least,
> > have tried to make a point about my design ideas being suggestions, not
> > "laying down the law".
> 
> Hey!  An "I want" from me doesn't decide anything any more than:
> "(Small voice: I still want to do it O-O. Wanto! Wanto!!! :)" from you
> decides stuff.

Okey. Sorry. I probably over-reacted. It just goes to tell that I, too,
have grown quite fond of this project and want to follow it all the way
through its development cycle (sort of like an expectant parent). I'm just
scared of turning my back, I guess... :)

> And for the record, I'm in pretty close agreement with what you've posted
> after we get past the abstraction level of how modules communicate.

Well, sure. And yes, I've given up on a message-based system, like I said,
and accepted your proposals about function pointers as the basic
communication protocol (which can be used to negotiate higher level
communications later on). It just goes to show that the first module I'll
probably build for DevMUD will be a message-based system sitting on top of
the function pointers. But that's fine; we want these options.

I am still not convinced that the driver should be as minimalist as
discussed earlier. The driver should be lean, yes, but it should also
provide fertile soil for module programmers, meaning more fertile than a
normal OS and programming language does.

> Surely choice of implementation language (Any using C calls vs. C++)
> and a detail on logical busses (optional vs. mandatory) isn't that big
> of a deal?

Well, maybe not. Chalk that up to my over-protectiveness.

> ] I have no objections to modules being written in C++ (or some other language),
> ] but I prefer interfaces using C calling conventions.  (extern "C" in C++)
> 
> I also don't like code inheritance, as I mentioned in a more recent post.
> That's just a preference, and shouldn't keep us from using C++ if we wind
> up deciding by voting or something.

I'm convinced that the modules should communicate using C function
pointers.  I am not convinced that the driver itself should be written in
C and not C++. I've heard arguments that C code will become much
"cleaner"; I'd like to state the opposite. To my twisted mind, an OO
implementation is easier to follow and get a mental grip on.  C code is of
course more efficient than C++, but I think this is a minor difference. 

Even if we do go for "plain" C for the driver, I'd like to emphasize that
we should take advantage of modern design techniques such as the UML,
Objectory and use-cases. Especially the latter which be useful in
exploring the requirements of the driver. I will probably post something
in this vein later on.

> > Of course, you may be speaking about your own prototype. In that case,
> > you're entirely in your own right to say these things.
> 
> My prototype is little more than a demonstration that you can use dlopen
> to assemble modules in a MUD.  (Ok, people are talking using it too.)
> If it gives me some special authority, I'd like to know why.

Well, if you had been describing what changes you were going to make to
your prototype to show off your thinking, you were naturally entitled to
do so. I added this disclaimer in this case. 

> I expect that after discussing stuff for a while, some sort of team will
> say, "Ok, this overall design sounds good, let's go and start coding."
> (And prototypes don't count.)

Agreed. I got the impression from some of the talk that we somehow had
reached this implementation phase, and it kind of scared me.

> Jon Leonard

-- Niklas Elmqvist (d97elm at dtek.chalmers.se) ----------------------
  "The trouble with being a god is that you've got no one to 
   pray to."
		-- Terry Pratchett, Small Gods





More information about the MUD-Dev mailing list