The core idea of MUMPS is actually pretty cool. A transactional key-value store built in to the language itself. NoSQL before the term was invented.<p>The worse part of MUMPS is simply the syntax, especially the abbreviation of keywords. If it didn't allow you to abbreviate "IF" to "i", "SET" to "s", etc, nobody would be complaining anywhere near as much. (But, back in the late 1960s, as an interpreted language that ran on PDP-7s which only had 9-144KB of memory, saving a few bytes on keywords allowed you to write longer programs, and hence do important stuff you otherwise might not have been able to – I guess they hadn't thought of the tokenisation approach that 8bit BASICs used, store keywords as one byte but expand them fully when listing/editing the code.)