related topics
{math, number, function}
{system, computer, user}
{company, market, business}
{language, word, form}
{work, book, publish}
{school, student, university}
{disease, patient, cell}
{area, community, home}
{service, military, aircraft}
{law, state, case}
{style, bgcolor, rowspan}

MUMPS (Massachusetts General Hospital Utility Multi-Programming System), or alternatively M, is a programming language created in the late 1960s, originally for use in the healthcare industry. It was designed for the production of multi-user database-driven applications. It predates C and most other popular languages in current usage, and has very different syntax and terminology.

It was largely adopted during the 1970s and early 1980s in healthcare and financial information systems/databases, and continues to be used by many of the same clients today. It is currently used in electronic health record systems as well as by multiple banking networks and online trading/investment services.



MUMPS was developed by Neil Pappalardo and colleagues in Dr. Octo Barnett's animal lab at Massachusetts General Hospital (MGH) in Boston during 1966 and 1967. The original MUMPS system was, like Unix a few years later, built on a spare DEC PDP-7.

Octo Barnett and Neil Pappalardo were also involved with MGH's planning for a Hospital Information System, obtained a backward compatible PDP-9, and began using MUMPS in the admissions cycle and laboratory test reporting. MUMPS was then an interpreted language, yet even then, incorporated a hierarchical database file system to standardize interaction with the data. Some aspects of MUMPS can be traced from Rand Corporation's JOSS through BBN's TELCOMP and STRINGCOMP. The MUMPS team deliberately chose to include portability between machines as a design goal. Another feature, not widely supported for machines of the era, in operating systems or in hardware, was multitasking, which was also built into the language itself.

Full article ▸

related documents
Lightweight Directory Access Protocol
Tar (file format)
Fuzzy control system
Self (programming language)
Pascal (programming language)
Information theory
Garbage collection (computer science)
Data model
Gray code
Exception handling
Reference counting
Programming language
Structured programming
Domain Name System
Object-oriented programming
Hamming code
Aspect-oriented programming
White noise
Computer program
Control flow
Busy beaver
Public-key cryptography
Abstraction (computer science)