Chris Bonnici's
M Reference Page
M is a procedural, general purpose language with well developed database handling capabilities.
Many M implementations are interpreted, yet one can also find M compilers. It is a complete
environment in that both data and programs lie within one or more operating system files. The language
allows untyped variables, and has powerful dynamic array handling features that can store both numbers
and letters. It's string handling commands are well developed. Indirection allows data held in string
variables to be interpreted at run-time as if they were commands.
M has inbuilt multiprogramming and multitasking support. Being an encapsulated environment,
a typical M implementation would contain various manufacture routines that allow users
to maintain the data and program files (called Globals and Routines), and perform certain
"M operating system" tasks. Development tools and other programs that are
normally necessary to operate in a multi-user environment are included as standard.
Today, besides the text based versions of M (typical of all the languages of its era started
off like this), M supports GUI's and has various third-party products that increase it's
functionality and usability. Check the Links Page for more about
these products. The M community is constantly growing and this is depicted by the number of
job vacancies that are posted. M is used as a development platform by organizations in all
branches of business.
¦ Go to the beginning ¦ Scroll Down ¦ Go to the beginning ¦ Scroll Down ¦
MUMPS is one of a languages that got created in the decade spanning the late 50's to the
early 70's. Although hundreds of languages got written (as they still do today), many
remain laboratory bound. Others attempt a go at the commercial scene but simply
don't make it (as is the case with failed actors and musicians). Others are niche languages
suitable for only one particular (or a limited) purpose and are therefore used by a small
roup of people.
MUMPS is a general purpose language comparable to the likes of C, COBOL, PASCAL, FORTRAN and
BASIC. Placing MUMPS of a gauge with languages that came out during those score years, one can
say that it is seated towards the lower end of scale with regards to popularity
(see FROM MUMPS 2 M).
MUMPS stands for Massachusetts General Hospital Utility Multiprogramming System. As the acronym
demonstrates, Massachusetts General Hospital sponsored it's creation. Dr. Octo G. Barnett
(who is still at MGH) obarnett@warren.med.harvard.edu headed the MGH group listing down
the specifications for the language. Dr. Barnett wanted a better system for the computer
laboratory system, than the one in use. A PDP-7 was the hardware on which the language would
execute. In 1966/67 the language was implemented.
Dr. Barnett's group split up and by 1969 there was Meditech (founded by Dr. Neil A. Pappalardo
and Dr. Curt W. Marble) and Decision Systems Group (headed by Dr Robert A. Greenes
greenes@harvard.edu). During this period MIIS was also providing a commercial version
of M. This indicates that the market for M had been created, although probably
it was restricted to the medical sector.
As MUMPS grew and expanded there seemed to be a need for the various MUMPS users to get together,
and the MUMPS Users Group (MUG, which later became the MTA) was born. Local user groups also came
into existence from all around the world in a drive to promote M locally and meet with
M folk living close by. MUG had its first meeting in December of 1972 in Boston, and
was attended by 40 people. As the years crept on, the MUG meetings grew, and more and more
people started using more and more different dialects of MUMPS.
Finally, to try to guide this development, the MUMPS Development Committee was formed (intimately
connected with MUG from the start). They hammered out their first standard in 1975, and it was
approved by ANSI in 1977 as the third computer language to gain American National Standard
status.
¦ Go to the beginning ¦ Scroll Down ¦ Go to the beginning ¦ Scroll Down ¦
Many feel that one of the major drawbacks of M were not it's capabilities, but it's original name. Having been born out of the needs of doctors, and carrying a name that is better know from it's medical aspects, the industry opted for a change of name. Reasons for this can be summarized as:
¦ Go to the beginning ¦ Scroll Down ¦ Go to the beginning ¦ Scroll Down ¦
1969 | The first two papers written about M: 1. Greenes RA, Pappalardo AN, Marble CW, Barnett GO; "Design and implementation of a clinical data management system"; Comput Biomed Res; 2:469-485 2. Greenes RA, Pappalardo AN, Marble CW, Barnett GO; "A system for clinical data management"; AFIPS Conf. Proc Vol. 35. Montvale, New Jersey: FJCC, AFIPS Press; 207-230 |
1974 | Hoskyns moves into M. It implements one of the earliest M system in the UK on a PDP 11. |
1975 | First standard created. It lists the minimum which would be compatible between the different implementations, and assured portability across different hardware platforms. |
1977 | The 1975 standard gets approved by ANSI (American National Standards
Institute). This gives rise to the ANSI M Language standard. It is the third language
to gain ANSI accreditation. MUG-Europe meets for the first time in Amsterdam. |
1978 | InterSystems Corp. founded by Terry Ragon. The first M implementation goes live in Finland. |
1980 | Terry Ragon wrote an official request to the MUMPS
Development Committee, requesting a change of name from MUMPS to
M. Micronetics was formed by Richard T. May, David J. Marcus, and Bernard S. Schoch. |
1982 | MUG-UK's first meeting takes place in London. |
1984 | MDC/ANSI standard revised to incorporate language enhancements and cleaned up and formalized the text of the standard. |
1986 | M approved as a Federal Information Processing
Standard (FIPS). Cybertools incorporated by Mark Roux. |
1987 | Extensao Software founded in Rio - Brazil. The New England M Users Group is the first user group dedicated to this programming language. |
1988 | KB Systems, Inc. formed by Richard Sulzer and David Middleton. |
1989 | (Feb 2) MUG Finland holds its first meeting in Helsinki. (Mar 8) German MUG is formed. (September) Atlas Development Corporation founded by Robert Atlas. |
1990 | Added block structured features, extrinsic variables
and functions, encapsulation features enhanced looping commands and
improved database handling. M accepted as an international standard by the International Standards Organization (ISO). |
1993 | The name M (or M-Technology) becomes an officially used nickname
of MUMPS. Although there was and still is a lot of debate on what the official name should
be, is seems that today the majority of those who produce and provide M-related
services and products have adopted the new name. Many user groups have also renamed
themselves to reflect the new name. The FIPS standard is revised. |
1995 | The Standard added a suite of M-related standards: language standards,
Open M Interconnect, binding, M/X Window System binding, M TCP/IP binding,
M Windowing API, transaction processing and error processing. Extensao changed its name to X-Tension Software Corporation and went global through its office in Florida. |
1996 | (April) Chris Bonnici's M Home Page is
born. (December) The first issue of M Web Magazine goes online. |
1998 | (June) Micronetics acquired by Intersystems. |
¦ Go to the beginning ¦ Scroll Down ¦ Go to the beginning ¦ Scroll Down ¦
This section houses some of the papers directly related to M.
¦ Go to the beginning ¦ Scroll Down ¦ Go to the beginning ¦ Scroll Down ¦
Finding information about M is very difficult as there is so very little of it, especially
photographic evidence (I couldn't find any). This page still needs further refining. Refining
must come in the form of greater depth and breadth of details presented here. If anyone can
contribute more information to this page please drop me an e-mail, attaching or including relevant
material.
Revision (June 1996):Thanks to Arthur B. Smith for the info and tips. Some of
the data in this page came from the M Technology and MUMPS FAQ.
Revision (July 1996): All alterations are accredited solely to
Jon Diamond. The wealth of information (and tips)
will enhance the quality and usability further.
Last Updated: 4 April 1999
The Index or Go UP