Actually, Chris, it is an error to say that MUMPS is an untyped
language. Types are undeclared, and the type associated with a value
is context dependent. In
USER>SET X="HELLO"
USER>SET Y=2
USER>WRITE X
HELLO
USER>WRITE X+Y
2
USER>WRITE X
HELLO
USER>
the issue is not one of X having no type, but that the type (and
associated value) is determined (at least in principle) at runtime.
===
Gregory Woodhouse
[EMAIL PROTECTED]
"The whole of science is nothing more than a refinement
of everyday thinking." -- Albert Einstein
On Aug 15, 2005, at 8:01 AM, Chris Richardson wrote:
Folks;
It isn't a question of which is better. These languages are
tools and you
use the right tool for the right job. Which is better, a hammer or
a screw
driver? They both can tack things together with a third item, a
screw or a
nail. Can you drive a screw with a hammer, sure, but the results
may not
be those desired.
Kevin, if you like to see the code all spelled out, there are
tools which
do a wonderful job of doing exactly that, expand MUMPS code to the
full
spelling. XINDEX will even structure the code for you.
I think what you are objecting to is that MUMPS doesn't force the
programmer into one way or the other the way of programming. If
you think
that MUMPS is bad in this reguard, try APL. Now that language uses
the
Greek character set for their commands and functions, but boy, is it
productive in the hands of someone who has mastered the language.
MUMPS is
a litterary masterpiece in comparison. Again, though, APL is just
a tool.
Actually teaching MUMPS is very easy for people who have not
written code
before, because there is little to no time in between the
submission of an
action and the feedback of results (no compile an link phase). Now
with
modern compilers, they have speeded up the process quite a bit and
nearly
become interpreters, but they aren't there yet. MUMPS is tougher
for people
who already know another language because they have to unlearn so
many of
the things they take for granted. Data typing is one major hurtle
for them
to get past (in MUMPS everything is strings and their meaning is
context
derived at run-time). Sparse matrixes are another issue in that
arrays are
more like dendritic sets of items rather than the preallocated arrays.
Delay until run-time allocation is another issue which is hard for
many to
get a handle on. Traditional languages have not handled this one
well in
the past. Having the database integrated into the language seems very
foreign to many traditional programmers. I always felt that the way
databases were handled in other languages was like doing brain surgery
through a key-hole. I like being able to the actually see what is
going on
in my database without having to ask another process for permission
to see
one record at a time. Perhaps the question should be, how can we
get MUMPS
data structures into these other languages and make them more
allocate-at-runtime friendly?? They would be stronger for it.
----- Original Message -----
From: "Kevin Toppenberg" <[EMAIL PROTECTED]>
To: <hardhats-members@lists.sourceforge.net>
Sent: Monday, August 15, 2005 6:59 AM
Subject: [Hardhats-members] Re: Command abbreviations/Re: mpsEdit -
IDE for
MUMPS GT.M programmers.
The only way to "prove" which is better would be to do some sort of
controlled study of persons new to M and asking which way is easier to
learn.
But as a newcomer myself, I think that making M as similar to other
languages as possible is desirable. And I don't know of any other
modern language that uses single letters for its commands.
Beauty is in the eye of the beholder... :-)
Kevin
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members