[MUD-Dev] Mud Languages

Greg Munt greg at uni-corn.demon.co.uk
Fri Aug 8 20:12:51 CEST 1997


On Thu, 7 Aug 1997, Chris Gray wrote:

> Some traditional languages have been specifically designed, mostly in
> the Algol/Pascal/Ada line. Others have "grown", such as the C/C++ line.
> Most research languages have also been more design than evolution. Both
> approaches have good and bad points. Designed languages can often show
> the bias of their designers (whether an individual or a committee).
> Grown languages often end up with misfeatures and too many ways to do
> the same thing. It is interesting that the languages that have made it
> to the "mainstream" have mostly been "grown" languages: Cobol, Fortran,
> C, C++. I'll guess and say that this is because most programmers don't
> care what the language they use is like - they just want something that
> lets them do what they want to do, and is widely available.

What I am specifically after are good and bad features of languages. I am 
only really aware of 'generic' languages such as C++, not languages 
geared towards a specific purpose. Examples of certain language features, 
and why they are a part of that language, are what I am after, really.

Is anyone familiar with OOPLs such as Eiffel or Smalltalk? Are there any 
features that they have, that would be particularly useful to programming 
a mud, specifically?

One of my contributors mentioned how much they liked the 'scoping' of 
Pascal a week or two ago. Things like strongly typed, weakly typed - what 
does this actually *mean*? Is it simply that the types of function params 
are specified in advance? Or am I thinking along the wrong lines? Or is 
it that there is a bit more to it than I am aware of?

Are there any specific things that I should be aware of, when designing a 
language? (I am not interested in implementation issues atm.)

> I've used quite a few (as, I suspect, have a few of the other older
> members of this list), including APL, AlgolW, Algol68, Pascal, Lisp,
> Basic, Fortran, Forth, several assemblers, and a few languages of my
> own design. 

Of these languages, which features do you like? Which don't you like? Why?

Is it possible to say, in general terms, what makes a bad programming 
language? And what makes a good one?

I know someone who is looking into dynamic linking of object files into a 
running executable. Has anyone here done anything like this?

> If the language you create/use is familiar to a lot of your workers, then
> it is easier to get them to work in it, since there is less learning
> curve, and there is the "instant gratification" that can be so important
> in getting people motivated. I essentially did that with my system, but
> since I knew that I was going to be the only user for a while, I chose
> to make my language like other languages I had designed, and not like
> any mainstream languages. My dislike for many mainstream languages, and
> the simplicity of parsing my own languages influenced this a lot, too.

What is it that you dislike about mainstream languages? Why?

> :The model I am thinking of is an extra layer added onto the standard 6-layer
> :VM. This would involve a driver/lib combination like LP/Cold, yes?
> 
> Sorry, I don't grok a "standard 6-layer VM".

Maybe I used incorrect terminology. 

5  [ PROBLEM-ORIENTATED LANGUAGE LEVEL ]
4  [      ASSEMBLY LANGUAGE LEVEL      ]           
3  [  OPERATING SYSTEM MACHINE LEVEL   ]
2  [    CONVENTIONAL MACHINE LEVEL     ]
1  [      MICROPROGRAMMING LEVEL       ]
0  [       DIGITAL LOGIC LEVEL         ]

These are the 6 layers to which I was referring. To move from one level 
to another, compilation/interpretation is required. Adding another level 
on top is what I *think* something like LPC does. Maybe, maybe not.

Is anyone aware of any sort of comparison between languages, showing 
levels of suitability for various tasks?
 
-------------------------------------------------------------------------------
            "Scratch muds can only ever be leaves of The Mud Tree."          
                      Discuss, using obscure references.          





More information about the mud-dev-archive mailing list