<!-- 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>