Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
-
MUMPS
- Language type:
D - Database or Text-processing
- Description:
MUMPS (aka M) is a procedural, interpreted
language with extensive features for
event-driven programming, text
handling, and database
manipulation. The language syntax is
very simple, but quirky. A program
written in M consists of commands
which operate on variables. These
variables can be simple numbers, records,
lists, or
enormous databases. Persistent
variables are called 'globals' and
usually live in the database. Access
to globals is transparent, freeing the
programmer from worrying about many
database management issues.
The usual
sequential control structures are present
in MUMPS, but in somewhat idiosyncratic
forms. The usual arithmetic operators
are included, but MUMPS's real strength
is in its string handling. It has a
flexible set of commands for pattern
matching, sorting,
and manipulating strings (although
not as extensive as SNOBOL or Icon).
M is designed to support multi-programming
and distributed computation. There are
also GUI implementations available for
the language, although the base language
standard supports only text-based screens.
Information about MUMPS products and
services are easy to find on the Web,
as are implementations of the language
and its underlying fast database.
Most MUMPS implementations are commercial,
but there are also free systems around
for Unix, VMS, and DOS, and Windows
operating systems.
Tutorials on MUMPS do not seem to be
available easily on the web, but copies
of the language standard are.
- Origin:
Octo Barnett M.D. et al, Mass. General Hospital, 1969.
- See Also:
- Remarks:
MUMPS originally stood for
Massachusetts General Hospital
Utility Multi-Programming
System. After the language became
standardized and commercialized, people
started calling it 'M' because it was
cooler and didn't evoke an unpleasant
disease.
Modern M systems are extensible, allowing
interfacing to other languages (like C),
networking facilities, and other database
systems.
M was originally mostly used in medical
informatics (partly as a result of NIH
encouragement in the early 1970s), and
it remains very popular for building
clinical databases worldwide. MUMPS
users groups and technical associations
are active, and an international M
conference is held each year.
Since the advent of the WWW, MUMPS has
been used to write web servers,
web/database interfaces, and other CGI
services.
Standization efforts for M are still
active, concentrating on keeping the
language current and useful for
its programming community.
MUMPS products are sometimes touted
as 'post-relational' databases, even
though the language was invented before
RDBMS products became popular. However,
for complex multi-dimensional data, MUMPS is regarded
as superior to RDBMSs by many practitioners.
Newer OODBMS products compete in MUMPS's
territory.
- Links:
-
-
-
- Date:
- Sample code:
; EXAMPLE FROM UC DAVIS
LEXICON ;PROGRAM TO CREATE SORTED DICTIONARY
READ !,"ENTER NEXT TERM (NULL TO QUIT): ",TERM
GOTO:TERM="" LIST
READ !,"ENTER ONE LINE DEFINITION: ",DEF
SET ^WORD(TERM)=DEF GOTO LEXICON
LIST READ !,"WOULD YOU LIKE TERMS LISTED (Y/N)?",YESNO
QUIT:YESNO'?1"Y".E
SET X="" ;TO GO TO PRINTER ADD 'OPEN 1 USE 1'
FOR I=1:1 SET Y=$ORDER(^WORD(X)),X=Y QUIT:X="" WRITE !,Y,?15,^WORD(Y)
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.