Feeds

A nice case of Mumps?

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

Beginner's guide to SSL certificates

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.

Security for virtualized datacentres

More from The Register

next story
PEAK APPLE: iOS 8 is least popular Cupertino mobile OS in all of HUMAN HISTORY
'Nerd release' finally staggers past 50 per cent adoption
Microsoft to bake Skype into IE, without plugins
Redmond thinks the Object Real-Time Communications API for WebRTC is ready to roll
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
Mozilla: Spidermonkey ATE Apple's JavaScriptCore, THRASHED Google V8
Moz man claims the win on rivals' own benchmarks
FTDI yanks chip-bricking driver from Windows Update, vows to fight on
Next driver to battle fake chips with 'non-invasive' methods
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Ubuntu 14.10 tries pulling a Steve Ballmer on cloudy offerings
Oi, Windows, centOS and openSUSE – behave, we're all friends here
Was ist das? Eine neue Suse Linux Enterprise? Ausgezeichnet!
Version 12 first major-number Suse release since 2009
prev story

Whitepapers

Cloud and hybrid-cloud data protection for VMware
Learn how quick and easy it is to configure backups and perform restores for VMware environments.
Getting started with customer-focused identity management
Learn why identity is a fundamental requirement to digital growth, and how without it there is no way to identify and engage customers in a meaningful way.
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?
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
Protecting against web application threats using SSL
SSL encryption can protect server‐to‐server communications, client devices, cloud resources, and other endpoints in order to help prevent the risk of data loss and losing customer trust.