MUMPS

求闻百科,共笔求闻
MUMPS
编程范型指令式过程式
设计者Neil Pappalardo
发行时间1966年,​58年前​(1966
稳定版本
ANSI X11.1-1995
(1995年12月8日 (1995-12-08)
型态系统无类型
操作系统跨平台
受启发于
JOSS[1]
施影响于
PSL, Caché ObjectScript, GT.M

MUMPS(全称:马萨诸塞总医院实用多用途编程系统,Massachusetts General Hospital Utility Multi-Programming System),是一个指令式高级程序设计语言,主要用于管理医药数据。它最早由马萨诸塞总医院开发,主要特性是在语言层面包含了一个满足ACID原则关系数据库。MUMPS能够直接高效地对磁盘上的数据进行操纵[2]

语法

在 MUMPS 中,一切以 ^ 符号开头的变量名都是持久的,被存放于磁盘上。因此,MUMPS 为所有程序都提供了一个关系数据库。这些数据是在程序之间共享的,因此其他运行中的 MUMPS 程序也可以对某个程序所创建的此类变量进行读写。而不带这一前缀的变量名则是临时或本地的[3]

MUMPS 缺少很多当今语言中被视作理所当然的功能。例如,MUMPS 中的算术表达式没有优先级的概念,也就是说 1+2*3 将得到 9。MUMPS 中没有类型,字符串类型在需要时将通过贪心的方式强制转换为数字类型。控制结构的作用域只到当前行结束为止。

例子

write "Hello, World!",!

由于 MUMPS 中所有函数和过程的名字都可以缩写,这段代码也可以写成 w "Hello, World!",!

参考资料

  1. G. O. Barnett, D. E. Souder, J. Bowie & Norma Justice. MUMPS: A support for medical information systems. Medical Informatics. 1976: 183-189. doi:10.3109/14639237609017783. 
  2. Tweed, Rob; James, George. MUMPS: the Internet scale database. 2008-08-02 [2022-10-25] –通过SlideShare. 
  3. Extreme Database programming with MUMPS Globals (PDF). Gradvs1.mjgateway.com. [2013-08-13].