<!-- MHonArc v2.4.4 --> <!--X-Subject: Java as a mudserver language --> <!--X-From-R13: Qlaor eh Fnera <plaorNynhery.npgyno.hgrknf.rqh> --> <!--X-Date: from tacitus.globecomm.net [207.51.48.7] by mx5.ibm.net id 860669440.168788-2 Thu Apr 10 10:50:40 1997 --> <!--X-Message-Id: 199704100816.DAA00900#laurel,actlab.utexas.edu --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Java as a mudserver language</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:cynbe#laurel,actlab.utexas.edu"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00072.html">Previous</a> | <a href="msg00074.html">Next</a> ] Thread: [ <a href="msg00085.html">Previous</a> | <a href="msg00074.html">Next</a> ] Index: [ <A HREF="author.html#00073">Author</A> | <A HREF="#00073">Date</A> | <A HREF="thread.html#00073">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Java as a mudserver language</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Java as a mudserver language</LI> <LI><em>From</em>: Cynbe ru Taren <<A HREF="mailto:cynbe#laurel,actlab.utexas.edu">cynbe#laurel,actlab.utexas.edu</A>></LI> <LI><em>Date</em>: Thu, 10 Apr 1997 03:16:34 -0500</LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> 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 :) </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00072.html">Re: six degrees of submission ... er, compilation.</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00074.html">Re: Java as a mudserver language</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00085.html">Re: Execution</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00074.html">Re: Java as a mudserver language</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00073"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00073"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>Re: Execution</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00079" HREF="msg00079.html">Re: Execution</A></strong>, Cynbe ru Taren <a href="mailto:cynbe#laurel,actlab.utexas.edu">cynbe#laurel,actlab.utexas.edu</a>, Fri 11 Apr 1997, 10:47 GMT </LI> <LI><strong><A NAME="00081" HREF="msg00081.html">Re: Execution</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Fri 11 Apr 1997, 13:11 GMT </LI> <LI><strong><A NAME="00084" HREF="msg00084.html">Re: Execution</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 12 Apr 1997, 02:10 GMT </LI> <LI><strong><A NAME="00085" HREF="msg00085.html">Re: Execution</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 12 Apr 1997, 02:16 GMT </LI> </ul> </LI> <LI><strong><A NAME="00073" HREF="msg00073.html">Java as a mudserver language</A></strong>, Cynbe ru Taren <a href="mailto:cynbe#laurel,actlab.utexas.edu">cynbe#laurel,actlab.utexas.edu</a>, Thu 10 Apr 1997, 17:50 GMT <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00074" HREF="msg00074.html">Re: Java as a mudserver language</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Thu 10 Apr 1997, 18:20 GMT </LI> </UL> </LI> <LI><strong><A NAME="00070" HREF="msg00070.html">six degrees of submission ... er, compilation.</A></strong>, Cynbe ru Taren <a href="mailto:cynbe#laurel,actlab.utexas.edu">cynbe#laurel,actlab.utexas.edu</a>, Thu 10 Apr 1997, 13:26 GMT <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00072" HREF="msg00072.html">Re: six degrees of submission ... er, compilation.</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Thu 10 Apr 1997, 14:20 GMT </LI> </UL> </LI> <LI><strong><A NAME="00066" HREF="msg00066.html">Dupes are my fault (again)</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Thu 10 Apr 1997, 12:08 GMT </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>