[MUD-Dev] Re: PDMud thread summary

Jon A. Lambert jlsysinc at ix.netcom.com
Mon Oct 26 22:40:17 CET 1998


On 26 Oct 98, Alex Oren wrote:
> On Sun, 25 Oct 1998 21:51:03 -5, Jon A. Lambert wrote:
> 
> } An OO mud language needn't have any virtual tables.  Virtual 
> } functions and the like are C++ specific.  You do have to settle on an 
> } object format.  Perhaps this might be a better place to start?
> } 
> } What properties do we desire a generic object to have?  
> 
> I think that we need to consider the object model before we consider the
> "root" object.

Well the construction of an object does imply certain object models.
You could build this from either view-point.

I like to start by asking questions:

Will all objects be derived from a single "root" (i.e. Java) or can
objects be free of inheritance (i.e C++)? 
Are Objects instanced from classes or are they self-instanced?
Are they instanced from protoypes or parent objects?
If Classes exist, do class objects exist with their own state 
vairables and functions?
Does method/function code reside in objects, prototypes or 
classes?
Do we keep track of child objects?
Do we keep track of parent objects?
Are objects single parented or multiple parented?
What can objects inherit, functions, data, or both?
What is the scope of inherited attributes and functions? (i.e. 
Are there notions of public, private, protcted?)
Is their a way to prevent inheritence? (i.e. Java's final) 
Can objects override inherited functions and data?
Do objects maintain their own symbol tables?
What is the relationship between module and object?
Do objects have unique IDs and names?
If so, how are they generated, and recycled?
Are function/method variables temporary or permament?
What primitive data types are supported?
Float, int, string?  What is their internal format?

> Personally I think that it should be language-independent so modules could be
> written in any language.  This will probably add some programming overhead to
> non "native" programming but I think the flexibility is worth it.
> 
> I kinda like the Self object model (but not the syntax of the language).
> See http://self.smli.com/ for info.

Self has pretty 'heavy' objects.  Instead of class concepts there are
prototype objects.  It has been done in ColdC.  IMO, if the Self 
model was sufficient, there would have been no desire or need for 
Cold's $frob construct.  

> For some more info about OO languages see:
>    http://vismod.www.media.mit.edu/~tpminka/PLE/
>    http://www.isg.sfu.ca/life/
> 
> Another possibility is to use the COM or CORBA models.

IDL may well be useful for this project.  

--
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc at ix.netcom.com /*\--
--/*\ Mud Server Developer's Page <http://www.netcom.com/~jlsysinc> /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--




More information about the mud-dev-archive mailing list