Java as a mudserver language

Cynbe ru Taren cynbe at laurel.actlab.utexas.edu
Thu Apr 10 03:16:34 CEST 1997


Jeff Kesselman notes:

| I thought [Java had deficiencies as a mudserver
| language] too, which was why I designed and wrote the
| kelvin suite, but I'm now abandoning kelvin because with
| 1.1 some very important (to me) holes in JAVA were
| filled.  The "reflection" library in 1.1 solved most of my
| architectual issues.
|
| Just note that if all you've looked at is 1.0 you might want to look
| at 1.1 again, it has grown a lot...
| 
| SUN btw is also promising a JIT (just in Time compiler) by the fall that
| will make JAVA run as fast as native c++... and Sun to date has missed
| neither a promise nor a date on ANY of their JAVA stuff.

All good points, in general!In my personal case, on the other hand:

1)  I'm stubborn.

2)  I figure that if I drop a project every time I get 120,000
    lines into it and some attractive-looking alternative pops
    up, I'll never finish anything at all :).  Better to complete
    one project at a time.

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, 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
    servers, supporting transparent diskbasing would require
    writing a new vm from scratch, the OO system is kinda lame, in
    particular numbers can't be objects and you can't promote fixnums
    to bignums sanely -- I also believe multiple inheritance will be
    a big win in sophisticated world design -- the current Java notion
    of doing reference-counting over WAN is imho nutso in a general
    mud context (perhaps not in some more controlled intranet contexts),
    transparent networking is not and will not be supported, the security
    model seems to me dubious/inappropriate in the sort of distributed
    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.  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
    the job.  (E.g.: Java rejects overloading because is can be used
    to write more obscure code.  It can also be use to write clearer
    code, but that's not the half of the glass the Java designers or
    interested in.  Which is fine, except that as a programmer, I'd
    rather have my tools helping me than deliverately crippling me.)
    In short, Java rubs me the wrong way on many personal, 
    idiosyncratic issues on which reasonable people can disagree :)

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.

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 :)




More information about the mud-dev-archive mailing list