Session: 2 for 1: How A 1960s Technology Evolved To Stay Current / TBA

K.S. Bhaskar – How A 1960s Technology Evolved To Stay Current

The first database machine provided a hierarchical key-value database seamlessly bound to a simple third-generation procedural programming language. One booted the machine into the database, the filesystem was the database, the programming language was the programming environment, and the only way to exit was to shut down the machine. It ran on a PDP-7, the same hardware that the first UNIX ran on. There was no distinction between the language and the database – it was all called MUMPS (Masssachusetts General Hospital Utility Multiprogramming System). A key to its success was its simplicity and minimalism.

Fast forward more than a half century. MUMPS is called M. While not mainstream software technology, it is the language and database of the largest real-time core-banking and electronic medical record systems. For example, a nation-scale medical record system in Jordan runs a complete FOSS stack developed in M. To robustly and securely serve such large-scale, mission-critical systems that require “”five nines”” availability, M has retained its core principles of a minimalistic language and efficient implementation, which allows it to scale down as well as up: the YottaDB implementation of M delivers thousands of database accesses per second even on a Raspberry Pi Zero with a consumer grade MicroSD card.

M evolved to remain relevant with changing economics and technology. It moved from days when the cost of the hardware dominated, programmers were economical, and software was freely bundled with the hardware, to today. It has done so without compromising its foundational values. It ceased to be an operating system as it was ported to other computing platforms. A production grade implementation was released under a copyleft license in 2000/2001. While the M language retains its conceptual simplicity, the tight coupling of M, the language, with M, the database, now extends to other languages, C, Go, JavaScript, Lua, Perl, PHP, Python, and Rust. The talk will use examples from lua-yottadb, which tightly binds a highly capable minimalistic language and a highly capable minimalistic database.

TBA

Talk to be announced soon!

Presenters: