No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''M''' is the short-name for the programming language [[wp:MUMPS|'''MUMPS''']] which stands for "Massachusetts General Hospital Utility Multi-Programming System". MUMPS predates SQL so it's the trendy "no-sql" before SQL. How hipster is that?  Because M was developed around 1966 on the DEC PDP-7 (which didn't even have an operating system), M was an operating system of sorts and a database and a programming language all in one.
'''M''' is the short-name for the programming language [[wp:MUMPS|'''MUMPS''']] which stands for "Massachusetts General Hospital Utility Multi-Programming System". M predates SQL so it's the trendy "no-sql" before SQL. How hipster is that?  Because M was developed around 1966 on the DEC PDP-7 (which didn't even have an operating system), M was an operating system of sorts and a database and a programming language all in one.
[[File:IRIS database popularity.png|thumb]]
[[File:MUMPS architecture.png|alt=diagram of the MUMPS system architecture|thumb|M System Architecture]]
[[File:MUMPS architecture.png|alt=diagram of the MUMPS system architecture|thumb|M System Architecture]]


== Implementations ==
== Implementations ==
'''InterSystems''' is the company that has the widest commercial implementation of MUMPS - based on their enhanced version called Caché. InterSystems is now using the next generation platform called IRIS, which has overtaken Cache in popularity<ref>See database popularity rankings at https://db-engines.com/en/
'''InterSystems''' is the company that has the widest commercial implementation of M - based on their enhanced version called [[:en:InterSystems_Caché|Caché]], which is now superseded by their new system called '''[https://www.intersystems.com/products/intersystems-iris/ IRIS]''', which has overtaken Cache in popularity<ref>See database popularity rankings at https://db-engines.com/en/


https://db-engines.com/en/ranking_trend/system/InterSystems+IRIS</ref>.
https://db-engines.com/en/ranking_trend/system/InterSystems+IRIS</ref>.


MUMPS is the basis for the U.S. Veterans Administration's computer medical record system: '''Veterans Health Information Systems and Technology Architecture''' ([[Wikipedia:VistA|VistA]])
M is the basis for the U.S. Veterans Administration's computer medical record system: '''Veterans Health Information Systems and Technology Architecture''' ([[Wikipedia:VistA|VistA]])


== Resources for Mumps ==
There are many other 'flavors' that have developed over time since the 1960's. One, called [[:en:GT.M|GT.M]] (''Greystone Technology M'') powers many trillions of dollars in global financial transactions.
Professor Kevin O'Kane's website at University of Iowa https://www.cs.uni.edu/~okane/


and YouTube series: [https://www.youtube.com/playlist?list=PLmMgHNtOIstYpwQRy5btu-P-Gl90IsjPM MUMPS Programming Language Tutorial]
It is the database concepts in M that make it unique, not necessarily the programming language. The M database has been described as multidimensional and post-relational, both are true. It is this database, or Global structure that makes MUMPS unique, and difficult to understand.


== Learning Mumps ==
Professor Kevin O'Kane's website at University of Iowa https://www.cs.uni.edu/~okane/ and YouTube series: [https://www.youtube.com/playlist?list=PLmMgHNtOIstYpwQRy5btu-P-Gl90IsjPM MUMPS Programming Language Tutorial]
Menlo Innovations - a software consultancy out of Michigan, has a 3-part series on Mastering M. Here is [https://menloinnovations.com/stories/software-development/mastering-mumps-part1 Part 1]


To really appreciate MUMPS, you need to understand '''[[b:Data_Structures/Trees|trees]]''' (the [[:en:Data_structure|data structure]] in computer science) including binary search trees<ref>https://en.wikipedia.org/wiki/Category:Binary_trees</ref> and [[Wikipedia:B-tree|B-trees]] This means you'll also be dealing with '''[[:en:Stack_(abstract_data_type)|stacks]]''' ([[b:Data_Structures/Stacks_and_Queues|Data Structures/Stacks and Queues]])
To really appreciate MUMPS, you need to understand '''[[b:Data_Structures/Trees|trees]]''' (the [[:en:Data_structure|data structure]] in computer science) including binary search trees<ref>https://en.wikipedia.org/wiki/Category:Binary_trees</ref> and [[Wikipedia:B-tree|B-trees]] This means you'll also be dealing with '''[[:en:Stack_(abstract_data_type)|stacks]]''' ([[b:Data_Structures/Stacks_and_Queues|Data Structures/Stacks and Queues]])