Java as a mudserver language

Jeff Kesselman jeffk at
Thu Apr 10 04:30:25 New Zealand Standard Time 1997

All in all, Ild say you REALLY need to look at 1.1

Most of your concerns were my concerns, which 1.1 dealt with.

At 03:16 AM 4/10/97 -0500, you wrote:
>3)  To my eye, Java still shows a lot of signs of the fact that
>    it started as a language for programming toasters, and was
>    never intended for anything as sophisticated as virtual world
>    implementation.  As far as I can tell, it has no real multiuser
>    concept, 

Im not sure what you mean. It has all the facilities necessary to write
multi-user servers.  Multi-threading and a decent socket wrapper.

>it has no concept of versioning sufficient to handle
>    updates of class definitions while continuing to support millions
>    of pre-existing instances of the class spread over thousands of

The reflection library provides the way to read old data and write it into
newer class versions. I believe in fact this is all done for you in the
serialization library which rides on top of it.

>    servers, supporting transparent diskbasing would require
>    writing a new vm from scratch, 

No, just a common base class that provides the mechanism. Again the
serialization library provides a way tow rite otu and read back arbitray
instances of arbitray classes.  The reflection library underneath is VERY

>the OO system is kinda lame, in
>    particular numbers can't be objects 

Sure they can. there have been wrappepr classes since the beginning for all
built in data ctypes.

> and you can't promote fixnums
>    to bignums sanely 

Explain in more detail. a fixnum I assume you mean a fixed point number.
Whats a bignum??

-- I also believe multiple inheritance will be
>    a big win in sophisticated world design 

Cold has multipel inhgeritance. In general ive never used it.
I find inetrfaces a far more useful idea actually...

>-- the current Java notion
>    of doing reference-counting over WAN is imho nutso in a general

Huh?  Are you referring to RMI here?  Jave within a single machine does
garbage collection, not ref counting.

>    transparent networking is not and will not be supported, the security

Yep. I agree witjh this.  This is mroe abppropriately doen in the app wher
eyou know what you are dealing with.  Again, you can build this into your
base class that all your mud objects derive from.

>    mud context I'm interested in, and in general Java is trying hard
>    to be fast and stupid rather than rich and flexible ala cutting-edge
>    languages.  

I disagree. i think its a pretty bright langauge. thre IS a focus on
efficiency first. for ME thats actually MROE important. When you are
talking abotu real comemrical apps, wasted cycles means fewer users per
machien means higher cost of operation.

>    Plus, Java is written with the Wirthian philosophy that
>    the programmer is an idiot who needs to be given dull tools lest
>    s/he cut her fingers, rather than the C/lisp philosophy that the
>    programmer is competent to be trusted with sharp tools suited to

Yep. I lOVE Wirth.  Wirth makes dnagerous things difficulkt,so you have to
thin kabotu them, and safe thinsg easy.

C makes dangerous thinsg easy, so yo udo em all the time, and safe things

Ick.  Ild ratehr spend a tiny bit mreo time coding then ALOT more tiem
debugging, thank you.  I've been writing C code for more then 10 years, I
can praticly carry on convesations in it... but I still find JAVA MUCH more
productive in terms of turnign otu workign code.

Do you purify your C code?  if not, I bet you seriosu money you have at
least one array overrun or memory leak in it somewher. if you DO use
pruify, you se ehow much work it takes to really make C code CORRECT as
oppsoed to just running.

>4)  I'm employed professionally writing mudservers in Java;  I'd
>    as soon not be doing anything too similar in my sparetime, to
>    avoid friction and conflict of interest with my employer.

Well thers an issue ffor you, and yo ualone, i guess.
Q. if yo uare employed writing MUD servers and you hate JAVA so mnuch, how
did your project end up IN JAVA?  I always get to chose my own tools.

>5)  There are clearly gonna be lots of people writing mudservers in
>    Java:  Isn't clear I'd contribute much by writing one more. Muq,
>    on the other hand, looks like it will at least contribute
>    something a little different :)

Um. I dont think so actually, not real ones that are decently flexible and
efficient.  Its not easy to architect such things and in m yexperience good
software architects are rare. hell, progrmamers who even KNWO the word
'architecture" are rare.


More information about the MUD-Dev mailing list