ross@harvard.HARVARD.EDU@ulowell.UUCP (01/15/87)
A friend of mine running an 8300 recently asked about Mumps for VMS. I seem to remember this from somewhere, but can place it well enough to find it. Does anybody know if such a language exists, and where I could find it? Also while I'm at it, has anybody tried loading ltd012 with ds2010. The tape of ds2010 comes with ltd011. Just thought I'd ask before I upgraded and gunned down all my users because of incompatible versions. Lastly, have any 8300 users noticed a problem with the machine forgetting what time it is on OS reboots? Ok, well to make up for all these questions, here's a mundane little tidbit. If you rerun netconfig, you must rerun dsvconfig to make VMS load decservers, let alone use them. Logical, yes, documented? Well I haven't found it yet :-) Ross
sasaki@HARVARD.HARVARD.EDU.UUCP (01/18/87)
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
mitch@TCGOULD.TN.CORNELL.EDU (Mitch Collinsworth) (01/20/87)
In article <8701150244.AA02396@ulowell.CS.ULowell.Edu> ross@harvard.HARVARD.EDU@ulowell.UUCP (Ross Miller) writes: >A friend of mine running an 8300 recently asked about Mumps for VMS. I >seem to remember this from somewhere, but can place it well enough to find >it. Does anybody know if such a language exists, and where I could find it? I don't know anything about the MUMPS language, but I do know it is used here at Cornell at the College of Veterinary Medicine because I have seen it in their job postings :-). I don't know anyone there personally, but the Cornell phonebook says the Director of the Veterinary Medical Computing Facility is John Lewkowicz and his phone number is 607-253-3606. Maybe he can give you the name of the vendor. -Mitch
LEICHTER-JERRY@YALE.ARPA (01/20/87)
A friend of mine running an 8300 recently asked about Mumps for VMS. I seem to remember this from somewhere, but can place it well enough to find it. Does anybody know if such a language exists, and where I could find it? Available as a DEC product; it's known as VAX DSM (for Digital Standard Mumps), and produced by Digital's Medical Systems Group. The most recent document I have lying around - I picked it out of a pile of extras somewhere or other - is the VAX DSM Programmer's Guide (AA-HM23A-TE, June 1986), which corresponds to VAX DSM V3.0. I understand there's also a third-party version out there, though I don't know anything about it (like who sells it). (The only context I've heard it mentioned in was in problems it had in upgrading to V4 a while back.) -- Jerry -------
edi@HADASSAH.BITNET (Edi Landau) (01/21/87)
Marty Sasaky's nasty comments about Mumps are all true, BUT being meself a MUMPS programmer for over eight years, I fell honour bound to reply: Comments: True Mumps comments are (typically) only used in the label line of a subroutine. All other comments will be removed by the editor when saving the routine. Scope of variables: The days of old are gone. In all new Mumps implementations the scope of variables can be limited with the NEW command. Most implementations now do precompile Mumps code. Also: Mumps programs are written much faster than programs in conventional languages. They are obviously debugged much faster and lo-and-behold will execute much faster than equivalent RMS programs. Since one can write FORTRAN (styled) programs in any langauge (even LISP) one of course can write them in Mumps too (That's like the man who speaks seven langauges, all of them in Yiddish). To summarize: Mumps is not a general purpose language, but what Mumps is intended to do, it does indeed very well. It does need some getting used to, but it easily becomes an addiction. Edi Landau, Edi@Hadassah.BITNET Hadassah University Hospital, Jerusalem, Israel.
craig@mumps.DEC.COM (So many books, so little time.) (01/24/87)
A recent query asked: A friend of mine running an 8300 recently asked about Mumps for VMS. I seem to remember this from somewhere, but can place it well enough to find it. Does anybody know if such a language exists, and where I could find it? MUMPS is a programming language developed at Mass. General Hospital in the late 60's. It is an ANSI standard language, and has a large and active community of users world-wide. It was originally developed to handle medical databases, but these requirements led to the development of a language which is optimized for handling any sort of large database, in an on-line, interactive environment. Far from being "a dinosaur", as has been stated in this mailing by people quoting 10 year old (mis)information, MUMPS is thriving world- wide. (I might point out that the dinosaurs evolved into birds, with a concommitant increase in efficienty of locomotion). It is popular with some of the largest corporations in the US, including Digital Equip. Corp., Shell Oil, General Motors, Coca Cola, American Airlines, Chase Manhattan Bank and others. Even IBM has recently announced the availability of MUMPS on some of its systems. MUMPS has 1 data type; the variable-length string (numbers being a special case of a string), and one data structure; the subscripted array. A MUMPS array contains number or strings subscripts, which are automatically sorted according to the ASCII value of the subscript. (This means a MUMPS programmer never has to write a sort routine!) If the array is on disk, its called a global. The only difference to the programmer between an array in memory, or one on disk is the "^" character preceeding the array reference. The programmer logically sees the database as a heiarchial tree. A rich set of commands and functions exist to allow the programmer to traverse the tree, retrieve any element, determine whether an element is defined or not, etc. Most commercial implementations of the language store globals as multi-way balanced B-trees, providing excellent I/O response time when the database is accessed. A record in a typical database with 1 million records can be retrieve in 3 disk seeks, no matter where in the database its located. MUMPS is interpreted, and lends itself to rapid prototyping, typically shortening development time considerably when compared to compiled languages which have to go through the edit-compile-link-run cycle of debugging. The fact that MUMPS is interpreted also means the language allows the run-time behavior of code to be easily modified. The Xecute command and Indirection operator, for example, provide unparalleled flexibility to the MUMPS programmer. Most modern implementations now pre-compile code (stripping out comments, optimizing arithmetic operations, etc.), to improve efficiency. MUMPS allows any command or function to be entered by typing the first letter of the command or function. This feature (a real plus if you're writing a long program) has given MUMPS the undeserved reputation of being cryptic and unstructured. Nothing could be farther from the truth. MUMPS encourages the programmer to build discrete modules of code, and to call them at runtime with the DO command. (Of course, it's possible to write unreadable, unstructured code, but that isn't unique to MUMPS). The syntax of MUMPS is very simple and straightforward and is established by the MUMPS Development Committee (MDC) which is the ANSI committee responsible for codifying the MUMPS standard. Vendors can extend the language, by adding "Z" commands and functions. There is also a rich set of operators string manipulation, arithmetic and logical operations, and pattern matching. Some new additions to the language have recently been added by the MDC. These include parameter passing, variable stacking (with the NEW command), and some new functions ($TRANSLATE, $FNUMBER, $GET, $QUERY). MUMPS isn't the language for all applications (what language is?), but for interactive, database or string-processing applications its without peer. There are several implementations available for the VAX, I happen to be affiliated with the group which produces VAX DSM (Digital Standard Mumps), the DEC implementation. Other vendors, and more information, can be located through the Mumps Users Group (MUG), 4321 Hartwick Road, College Park, MD. 20740 (301) 779-6555. Bob Craig DSM Technical Programs Group Digital Equip. Corp. Marlboro, Ma. DEC E-NET -> OZONE::CRAIG UUCP -> {your favorite path}!decwrl!dec-rhea!dec-ozone!craig ARPA -> craig%ozone.DEC@decwrl.ARPA
McGuire_Ed@GRINNELL.MAILNET.UUCP (01/25/87)
In response to your request for pointers to Mumps systems, here are descriptions of two commercial Mumps systems for VMS, summarized from my VAX Software Source Book, Third Edition (January 1986): ------------------------------------------------------------------------------- Digital Equipment Corporation Contact: Local sales office DSM for MicroVMS, VMS. Database management system including DIGITAL Standard MUMPS (DSM). Superset of ANS MUMPS specification X11.1-1984. Shareable, reentrant interpreter. SPD #25.08.xx. Price: $9000-$13,500. ------------------------------------------------------------------------------- Intersystems Corp., 210 Commercial Street, Boston, MA 02109 Contact: David Rozewski, (617)227-1555 MUMPS programming language, data base system, and utilities. Claims more than twice the performance of other implementations. ANSI standard X11.1-1977, with all 1983 enhancements. Handles ASCII and EBCDIC tape formats. Supports networking to VAX and PDP-11 MUMPS systems. Price: $3900-$49,900. ------------------------------------------------------------------------------- I also came across an amusing entry I must share: ------------------------------------------------------------------------------- Computer Systems Design, 3627 Padua Avenue, Claremont, CA 91711 Contact: Dr. Thomas S. Radi, (714)625-6147 GDADL (Greatest Damn Ada-Based Design Language) for MicroVMS, ULTRIX-32, VMS. Program Design Language based on Ada. Price: $3000-$7500. ------------------------------------------------------------------------------- Disclaimer: We don't use them, we don't sell them.