Feeds

A nice case of Mumps?

Mumps, now known as M, is a widely used language in American health care.

5 things you didn’t know about cloud backup

I have a soft spot for “legacy” languages – and I, for one, like getting legacies. Back in my day, we expected to learn new languages for different projects (learning Simula for a port simulation, for instance, made a lot more sense than trying to “standardise” on COBOL; or even FORTRAN, the usual simulation language then). So I was interested when a Register reader, Thomas H. Martin of Georgia, USA, emailed in praise of M, once known as MUMPS.

M is a high-level operating language with extremely strong data manipulation capabilities, Martin explains. “M was originally started at the Massachusetts General Hospital as a health care language, similar to Basic in being totally interpretive and compiled at run time,” he says, but “today M is pre-compiled and, in today’s implementations, extremely fast”.

According to Martin, “M has a rapid application development time; jobs that in some languages take from months to years can be done in days to weeks.” He enumerates some of the characteristics of M:

  • Fast development time
  • Easy to change your coding
  • Scalability
  • Uses sparse arrays, where data space is not allocated until actually needed
  • Handles integers, floating point or text without having to differentiate between them
  • Only 26 commands support the entire language
  • Variables may be set up on the fly; no need to dimension them at program start
  • Files may be created and indexed on the fly
  • You can code functions on the fly
  • High-level commands are available for interacting with the host OS
  • You can scale data storage up into hundreds of terabytes
  • There's a full compliment of management utilities, including database repair without third-party participation
  • It supports "Post-conditionality", a concept not found in any other language Martin is aware of
  • It can interface with Windows via a broker
  • It can use HL7 (ANSI standards for the exchange, management and integration of electronic healthcare information) to communicate with any other computer in the world
  • It supports string lengths of up to 32767 bytes
  • It supports the construction and use of objects
  • It can create web-based applications, using objects and “server pages”
  • It integrates with other M applications easily and seamlessly

Out of that list, I'd pick the sparse array handling and the compact nature of M itself (only 26 commands – reminds me of REXX and I like that too, especially as it has open implementations; as, of course, does M); and perhaps the scalability, management and database repair facilities, as indicators of what makes M different. On the other hand, I'd have to do some extra reading on “post-conditionality”; and not having to distinguish integers from text (and not having to declare variables) worries me a bit - I can see how they're useful but, IMHO, such features can make for interesting errors if misused – as in FORTRAN.

Principally, according to Martin again, M is a “roll ‘n’ scroll” language that uses terminal emulators - almost any terminal emulator will do as long as it can emulate at least a VT-100 – and, of course, this immediately makes M a loser in the fashion stakes. However, M's approach is far more efficient (in terms of screen real-estate) for data entry than a Windows screen.

As "UK plc" is in the process of upgrading the UK National Health System (NHS), it's worth noting that the most famous implementation of M is in the US Department of Veterans Affairs Hospital system: VistA; which stands for Veterans Health Information Systems and Technology Architecture. This hospital system is totally electronic, requires no paper record storage and, Martin says, completely supports all hospital functions, including Lab, Radiology, ADT/Scheduling, HL7 and many others.

Its file management system is the VA Filemanager, based on an application created in the 1970s by George Timson. This system, it's claimed, is simple to use, provides a complete data dictionary for an application and is self-documenting. The VA system supports all M platforms and is now public domain. Recently, it has been scaled down to operate individual physician offices and, for the first time, physician offices can be totally automated for the cost of the equipment needed and an M license.

This sounds like a good “success reference” for the NHS – is the "new NHS" likely to be running as well 35 years after first implementation? And will we still be commemorating the names of its architects? Of course, with modern technology, it should be far more successful – but I wonder...

Today, Martin tells me, there are only a few M operating systems. In the past, there was Micronetics Mumps, Greystone Mumps (GTM), Digital Standard Mumps (DSM-11, VAX DSM), Datatree and Open M. A few years back, however, Intersystems Corporation bought out all but GTM, and now we have Caché, a very high-level, multi-platform implementation of M, and also a successful “post relational” DBMS in its own right (and not limited to M, of course). But today, you can run M on practically any platform/operating system.

So, should all of you out there learn M today? That's a big question, and I really doubt if it's for everyone, but there are certainly good reasons for adopting Caché, for large, modern, database-oriented systems – and then M is available as a “free-ish” gift (there'll be training and cultural costs, of course, if not others). At the very least, I think M is rather more than just an interesting part of programming history – and, like much of our “legacy”, is still in use in some successful systems.®

David Norfolk is the author of IT Governance, published by Thorogood. More details here.

Boost IT visibility and business value

More from The Register

next story
Why has the web gone to hell? Market chaos and HUMAN NATURE
Tim Berners-Lee isn't happy, but we should be
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Sin COS to tan Windows? Chinese operating system to debut in autumn – report
Development alliance working on desktop, mobe software
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
Linux kernel devs made to finger their dongles before contributing code
Two-factor auth enabled for Kernel.org repositories
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Scale data protection with your virtual environment
To scale at the rate of virtualization growth, data protection solutions need to adopt new capabilities and simplify current features.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?