“Both were wildly frustrating to work with because the real knowledge was all tribal”
I suppose it depends on what you mean by “tribal”. A good DSL is naturally tribal: it serves a very specific user base in a very specific field. If you aren’t one of that audience already educated in that field, of course it won’t make much sense to you. A language tailor-made for the medical industry might well seem alien to a non-medic. Unfriendliness to outsiders does not mean it’s a bad language, it just means outsiders have a far larger learning curve to climb to get anywhere productive.
I suspect in MUMPS’ case, its <cough>issues spring more from being a Product Of Its Time; passed through software, hardware, and wetware of the same. It’s of the same generation as COBOL, when language design itself was an unexplored territory. It wasn’t until the likes of Algol 60—and Algol 68(!)—that programming languages really fell into the “standard ways” of doing common things. And even that’s proved a double-edged sword, as the established ways of doing many things have long since proven unreliable unscalable crap; Peter Principle in code.
As for Mason, show us an HTML templating language that isn’t the size of Trump Tower, and I’ve no doubt behind it you’ll find at least two of its predecessors that were. Programmers just LOVE generating Complexity—it’s exciting! Plus, until you’ve really worked a problem and solved it a couple times over already, it’s tough enough just getting to something that works; never mind works well and is as simple as it possibly can be too.
[Aside] Funny enough, it was HTML templating where I cut my own design teeth. Truly, every programmer and their mother seems to write one. Took me three attempts to get from grotesque unmanageable monstrosity, or SOP, down to something that was just three methods long. Which, it turns out, is all that job actually takes: insert, iterate, and delete; everything beyond that is just ego-inflating bullshit. But I never knew that going in, and neither, clearly, does anyone else as programmers are still inventing vast baroque HTML templating languages that take Greenspun’s Tenth Rule and delightedly poop all over it.
Thus, I’d say MUMPS and Mason are fine examples of at least one, probably two, custom languages that should long since have been superseded by newer and better solutions but haven’t been, at least in part because no-one in this industry can be bothered to learn from what has gone before. Or, as Keith Braithwaite put it:
“It's a curious thing about our industry: not only do we not learn from our mistakes, we also don't learn from our successes.”
And if ever there was an acid test for this, I’d say languages are it.
--
TL;DR: While niche domain languages are at least as subject to Sturgeon’s Law as mainstream industry ones are, what actually differentiates the two is that all of the former’s frank fuckups are entirely random and unique, instead of ISO standardized and taught in school.
See also: http://james-iry.blogspot.com/2009/05/brief-incomplete-and-m...