MUMPS
en.wikipedia.org
en.wikipedia.org
https://thedailywtf.com/articles/A_Case_of_the_MUMPS
https://thedailywtf.com/articles/MUMPS-Madness
https://thedailywtf.com/articles/isn-t-there-a-vaccine-for-m...
1. M bundles a reasonably efficient database with the language itself. Every variable supports jagged hierarchical arrays (which we usually call objects in other languages). These were implemented as balanced binary search trees, which means it’s difficult to write slow operations (at the cost of slightly sub-optimal performance for everything).
2. M was designed for massive server/client operations, handling concurrent use and access by tens of thousands of users out of the box.
3. M was incredibly terse. We laugh about the horror stories now, but when it was developed, every byte mattered, so single letter keywords and white-space-award syntax were features, not bugs.
As a result of these strengths, M solved real problems for large organization, managing data and concurrency at scale, with a simple storage paradigm that prioritizes good enough performance all of the time.
It is also well-entrenched in many areas where NOT breaking things is far more important than moving fast (healthcare, finance).