MUMPS, also called M, may seem antiquated at a glance, especially to programmers who are used to the conveniences of modern languages with vast, built-in libraries. It was designed with a built-in database to handle multiple health care professionals inputting and accessing large volumes of data pertaining to patients at Massachusetts General Hospital in 1966, when RAM and hard disk space were at a premium. It continues to excel at efficiently storing and accessing data within companies like AmeriTrade, Epic, Quest Diagnostics, and GE Healthcare. Though it isn’t widely known, programmers today would be wise not to dismiss it as outmoded because of its syntax, but to get to know its strengths, which allow it to compete with Python and other data processing tools to this day.
Articles on MUMPS’ History:
The history of MUMPS’s development and information about it’s built-in database — https://motherboard.vice.com/en_us/article/3dkmg3/meet-mumps-the-archaic-health-care-programming-language-that-predicted-big-data-2
An overview of MUMPS with a focus on its uses in modern business applications — https://www.datasciencecentral.com/profiles/blogs/mumps-the-most-important-database-you-probably-never-heard-of
At Menlo, we’ve been learning to use M for one of our client projects. We’ve run into a lot of frustrating nuances of the language, but ultimately found that with the proper understanding, M can do everything we would expect from the other technologies we use every day.
A note about our environment: we are using Windows and Intersystems Caché, which can be downloaded here. Caché is a superset of M, but all the code examples in our posts are valid M. We have written all of our code examples in Caché ObjectScript Routine files (.mac) in TRYCACHE Studio. When we want to run our code, we compile it (Ctrl+F7), and run it in TRYCACHE Terminal. For example, if we had a routine called “test” containing a tag called “multiply”, we would run it with the following command in the Terminal: d multiply^test
While learning to use the language, we have used the official MUMPS documentation and A Quick Introduction to the MUMPS Programming Language, a slideshow written by Kevin C. O’Kane, Professor Emeritus in Computer Science at the University of Northern Iowa. Both provide a solid foundation but leave out some details. In this series, we want to share what we have learned during our self-training in the hopes this may be used as a resource for other programmers learning or using M.
Check out the following articles on MUMPS within Related Stories below for an in-depth look at some of the features we’ve learned about here at Menlo.