MUMPS

MUMPS

MUMPS語言,簡稱:M技術,全稱:Massachusetts General Hospital Utility Multi-Programming System,麻省總醫院多用途程序設計系統;算起來也是一種古老的語言了,與FORTRAN和COBOL屬於同時代的語言。因為這門語言最主要是用於醫療資料庫方面,所以其應用並不像SQL Server、Oracal等那麼廣泛。

發展歷程


在一個分時系統中進行人—機聯繫的交互計算的概念是在六十年代初期開始的,在1967年底,麻省總醫院的電子計算機實驗室認識到這種交互系統在醫學領域中的價值,開始開發一種語言,這種語言綜合了在各種小型計算機上操作的,交互分時設備中用文件管理系統執行文本編輯的能力。第一篇描述這種語言的文章發表在1969年的Fall Joint Computer Conference上。因為設計者成功地達到了他們的目的,這一語言很快地在臨床應用以及在醫學教育上得到了推廣。使它名聲遠揚,而且很快出現了許多“方言”,每一種方言都希望改進原來的設計以改變或者擴展原來的MUMPS。開發了種種新的應用,有的用的是原來的MUMPS語言,有的是通過個人或商業途徑得到的“方言”。結果到1972年時,出現了不下十四種之多的在運用中或發展中的MUMPS語言文本,從而引起了相當大的混亂。
由於這種語言有很大的潛力,所以1972年在國家標準局(National Bureau of Standards)和國家衛生研究中心(National Center of Health Services Research,國家衛生教育福利部的一個下屬機構)的共同倡導和努力下,開始發展一種新的標準的MUMPS語言,這種努力也包括了各種MUMPS方言的主要使用者。這是通過對達到同一目的一致的認識,而不是通過行政命令進行的。為了規定這種語言的定義,成立了MUMPS開發委員會(MUMPS Devolopment Committee),委員會採用正式的章程和附則來保證不偏不倚地考慮各方面的意見。從1973年到1975年,每年都舉行幾次會議。在這段時間裡,大家一致同意和採用了一種新的標準MUMPS語言。這種語言的定義在1976年春天提交到ANSI(美國國家標準協會)申請批准。通過周密的審查,這一語言於1977年9月毫無異議地為ANSI所批准。
從那時起,這一語言已經在許多系統上運行,標準的MUMPS語言現在已經可以用在微型計算機、小型計算機以及在某些大型計算機系統上。它在醫學、商業和教育領域中的用處正在不斷增加。對這一語言的興趣也在增長,同樣,其應用也將與日俱增。
MUMPS開發委員會繼續擔負校訂和提高這一語言的責任。每年至少開兩次會議他們的任務是考慮這一語言的可能的擴充與修訂。任何被開發委員會正式接受的那些改變,將根據ANSI的規定提到1982年語言的修訂本中去。與此同時,開發委員會以及應用方面的平行機構MUMPS User'Group(MUMPS用戶協會)還是繼續努力使此語言及其應用更加純正。
1977年,成為ANSI批准的標準語言
1982年,頒布第二個版本
1992年起被批准為 ISO 國際標準編程語言

開發環境


MUMPS的程序開發語言——M語言在某種意義上比BASIC更簡單,不用把命令和函數全拼來編碼,可以省略編碼。輸出數據的る命令 WRITE → W 輸入數據的命令 READ → R所開發模塊的再利用也不用特別進行 link等處理,能夠極其簡單的進行動態 call,所以與COBOL和C語言相比可以縮短程序開發期。 DO ^SUB → 程序"SUB"的執行但是在標準的M處理系中,不是像Windows環境那樣連周邊機器的控制也都放到系統中的,所以像終端的 escape squence 控制這樣的若干偏硬體的知識就變得很必要。程序在存儲時沒有特別的手續,而是自動編譯到中間碼的狀態后存儲,執行速度就算達不到 native 的二進位成都,也相當高速了。用命令行業可以如原來的BASIC那樣、作為 interpreter 直接執行M的 code,所以程序和Mcode 的檢查很容易進行。另外還有一個也許可以說是最大的特徵是,用M語言可以控制周邊機器。在著名的DB中,DB本身和使用DB的程序是單個獨立的,這很普通,但是在M中,是在M的操作環境中加入M程序語言的環境。

特點


不像一般處理系那樣,對DB沒有文件的概念,連DB文件的Open・ Close操作也沒有。向DB中寫數據時不用特別的命令,與在變數中設置數據一樣,來存儲數據。在M中,把內存上的數據(變數)稱為局部變數,把磁碟上的數據稱為全局變數。在局部變數中設置數據與在全局變數中設置數據的區別只是,在變數名的前是否附加circumflex (補註號)"^"。不過,在使用OS上的文件和印表機等周邊機器時,使用前必須打開機器佔有機器。