M: Difference between revisions
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". | '''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 | '''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>. | ||
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]]) | |||
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. | |||
and | 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]]) | ||