Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!ucbvax!HARVARD.HARVARD.EDU!sasaki From: sasaki@HARVARD.HARVARD.EDU.UUCP Newsgroups: mod.computers.vax Subject: Mumps. Message-ID: <8701180320.AA19101@ucbvax.Berkeley.EDU> Date: Sat, 17-Jan-87 22:20:24 EST Article-I.D.: ucbvax.8701180320.AA19101 Posted: Sat Jan 17 22:20:24 1987 Date-Received: Sun, 18-Jan-87 18:35:17 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 58 Approved: info-vax@sri-kl.arpa MUMPS is a programming language that was developed at Massachusetts General Hospital. MUMPS is a lot like FOCAL with an added data structure, sparse multi-dimensional arrays. The arrays can either be local, or global; global arrays are a natural for databases. There are also lots of string functions. For some reason MUMPS became popular in medical areas, but practically unheard of outside of it. There are at least two implementations of MUMPS available for the VAX. One is from DEC and the other is from a company in Boston, Interpretive Data Systems (I think). MUMPS doesn't run very well on VMS since it has it's own ideas about how a system should work and VMS is too general purpose to run with any kind of speed. MUMPS on a PDP-11/70 (or more modern, equivalents) run MUMPS programs faster than on a VAX-11/780. My personal opinion is that MUMPS is a dinosaur. It is experiencing a revival with low cost, high speed PDP-11's and there is an effort in Japan to build a MUMPS CPU. It's main problem is that most MUMPS implementations encourage a programing style that produces unreadable, and unmaintainable code. Just a few things: Programs are interpreted, and since comments can contain data, or even program text, comments are interpreted every time a program is run. Since comments that aren't data or program text necessarily slow down a program, programs don't have too many comments. All variables are global, i.e., procedures and functions written in MUMPS don't have local variables. Calls to functions don't have arguments/parameters. Most implementations don't tokenize program text, so the actual ascii text is scanned every time a statement is executed. Since scanning text takes time, most programmers use short variable names (longer names take longer to execute) for everything. Enough of this, it is just too easy... This reminds me of a talk given by one of the residents in Nuclear Medicine about 10 years ago. Every Wednesday morning a resident or a staff member would give a small talk about what they were doing. The hospitals were affiliated with Harvard Medical School and there were several folks from Mass General in the audience. Jason was giving his talk on programming languages in Nuclear Medicine. He talked about the types of computation needed and talked about Basic, Fortran, FORTH, and a rather bizarre macro language designed specifically for Nuclear Medicine by DEC. When the question and answer period came, someone stood up and asked "What about MUMPS?" Without missing a beat Jason replied "Mumps is a disease, and as physicians we must strive to stamp it out." ---------------- Marty Sasaki uucp: harvard!sasaki Strategic Information arpa: sasaki@harvard.harvard.edu 80 Blanchard Road bitnet: sasaki@harvunxh Burlington, MA 01803 phone: 617-273-5500