Hacker News new | ask | show | jobs
by specialist 3088 days ago
Do you consider Intersystems’ Caché to be a MUMPS? I ask because that stack us the worst I’ve ever used professionally. A syntax error borking the compiler can bork your entire runtime.
1 comments

While we used Caché as our MUMPS runtime, it was policy to not use any of the language extensions in case we ever needed to switch to GT.M, so I can only speak to what is in the ANSI spec[1]. I never looked into the Caché functionality as a result, but it looks like if you used their ObjectScript then you definitely had a different experience than me. The closest thing to relational objects we had was that we had an internal standard for defining the structure of our globals (databases) such that they could be accessed and iterated over in a consistent way using an internal library of functions that made it kinda feel like working with tables; though even that was designed primarily to avoid bugs caused by simple typos. The vast majority of the code I wrote/worked with involved primarily for loops and basic CRUD with some locking code that was also simplified via an internal function library.

As for your syntax error woes, I don't recall ever running into a massive issue like that, but then again by the time I was working at this company they had decades of time to figure out a stable MUMPS dev environment and even an internal IDE for it, and for the most part they seem to have succeeded. I still wouldn't say I like MUMPS; if it had first class functions and the ability to use an entire tree as a return value (or at least a pointer of some kind) rather than only the value of the root node then I'd probably say I like it.

[1] http://mumps.sourceforge.net/docs.html