<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Virtual machine design --> <!--X-From-R13: Quevf Uenl <ptNnzv-pt.UenlEntr.Sqzbagba.OP.QO> --> <!--X-Date: Sat, 17 Apr 1999 09:31:53 -0700 --> <!--X-Message-Id: 199904171621.KAA01967@ami-cg.GraySage.Edmonton.AB.CA --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Virtual machine design</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA"> </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="msg00059.html">Previous</a> | <a href="msg00061.html">Next</a> ] Thread: [ <a href="msg00065.html">Previous</a> | <a href="msg00080.html">Next</a> ] Index: [ <A HREF="author.html#00060">Author</A> | <A HREF="#00060">Date</A> | <A HREF="thread.html#00060">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Virtual machine design</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] Virtual machine design</LI> <LI><em>From</em>: Chris Gray <<A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A>></LI> <LI><em>Date</em>: Sat, 17 Apr 1999 10:21:21 -0600</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> [Ben Greear:] >4) I think it would be pretty cool to implement such a system, just for the >sake of coding it up, but I don't see the practical benefits. Please >enlighten me! :) My reasons aren't before-the-fact reasons, but are advantages noted after it had been accomplished. I was working on interpreters when the idea of putting a MUD around one came up. - if your MUD is disk-based rather than memory based, you need accessor functions to get at things. When you are planning on thousands of lines of code, its tedious and error prone to have to write those calls all over the place. Having an in-MUD language means that the code can be visually simpler, and the compiler takes care of all of the details. C++ users might be able to cleanly hide all of that stuff, but that wasn't an option for me. - MUD languages often have security considerations, such as doing things on function entry. Having an in-MUD language makes this automatic, rather than manual. - the datatypes that are useful for MUDs are often not directly present in implementation languages. E.g. flexible arrays with full bounds checking, a seamless string type, etc. Many of the things that, say, C++ has, you likely want your MUD programmers to *not* have access to, like pointers. Or maybe Java's networking and file I/O functions. - with an in-MUD language, it is often possible to modify things while the MUD is up and running. That is much trickier if you are using normal compiled code, on a function-by-function basis. - although I'm a fan of strongly typed languages (compiler, please help me get this right...), there are cases when run-time type checking is valuable - that requires entire additional frameworks of stuff if done in traditional compiled languages. - I wanted an inheritance model that inherits values, not structure. That doesn't work if the implemenation language does inheritance of structure, like C++ and Java do. - C syntax, and hence C++ and mostly Java syntax, well sucks. I'd rather have something cleaner to present to beginner programmers. There are likely more, but that's all that come to mind at the moment. -- Don't design inefficiency in - it'll happen in the implementation. Chris Gray cg#ami-cg,GraySage.Edmonton.AB.CA <A HREF="http://www.GraySage.Edmonton.AB.CA/cg/">http://www.GraySage.Edmonton.AB.CA/cg/</A> _______________________________________________ MUD-Dev maillist - MUD-Dev#kanga,nu <A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A> </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00080" HREF="msg00080.html">Re: [MUD-Dev] Virtual machine design</A></strong> <ul compact><li><em>From:</em> claw#kanga,nu</li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00059.html">Re: [MUD-Dev] Virtual machine design</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00061.html">Re: [MUD-Dev] Virtual machine design</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00065.html">Re: [MUD-Dev] Virtual machine design</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00080.html">Re: [MUD-Dev] Virtual machine design</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00060"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00060"><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: [MUD-Dev] Virtual machine design</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00082" HREF="msg00082.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Mon 19 Apr 1999, 08:01 GMT <UL> <LI><strong><A NAME="00088" HREF="msg00088.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Petri Virkkula <a href="mailto:pvirkkul#iki,fi">pvirkkul#iki,fi</a>, Mon 19 Apr 1999, 19:47 GMT </LI> </UL> </LI> </ul> </ul> <LI><strong><A NAME="00058" HREF="msg00058.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Alex Stewart <a href="mailto:riche#crl,com">riche#crl,com</a>, Sat 17 Apr 1999, 04:44 GMT </LI> <LI><strong><A NAME="00065" HREF="msg00065.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Sat 17 Apr 1999, 16:49 GMT </LI> <LI><strong><A NAME="00060" HREF="msg00060.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 17 Apr 1999, 16:31 GMT <UL> <LI><strong><A NAME="00080" HREF="msg00080.html">Re: [MUD-Dev] Virtual machine design</A></strong>, claw <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Mon 19 Apr 1999, 07:52 GMT </LI> </UL> </LI> <LI><strong><A NAME="00064" HREF="msg00064.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Felix A. Croes <a href="mailto:felix#dworkin,nl">felix#dworkin,nl</a>, Sat 17 Apr 1999, 16:46 GMT <UL> <LI><strong><A NAME="00067" HREF="msg00067.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Sat 17 Apr 1999, 22:46 GMT <UL> <LI><strong><A NAME="00076" HREF="msg00076.html">Re: [MUD-Dev] Virtual machine design</A></strong>, Matthew Mihaly <a href="mailto:diablo#best,com">diablo#best,com</a>, Sun 18 Apr 1999, 17:13 GMT </LI> </UL> </LI> </UL> </LI> </ul> </LI> </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>