3 ms·
MUMPS is definitely part of the problem. Easy access to B+ tree globals don't make up for dynamic scoping, loose typing, no namespaces, no 3rd party libraries (
by olooney 8y ago
MUMPS is definitely part of the problem. Easy access to B+ tree globals don't make up for dynamic scoping, loose typing, no namespaces, no 3rd party libraries (and an embarrassingly small standard library,) a terrible console-only debugger, a godawful error handling system, etc.
- roywiggins 8y agoEpic has its own 1st party libraries! but you're still dealing with MUMPS so a lot of code looks just like this stuff in VistA: https://code.osehra.org/gitweb/?p=VistA-M.git;a=blob;f=Packages/E+Claims+Management+Engine/Routines/BPSBCKJ.m;h=e1125e8eb41a6fc303915b09b573cfdcc5355e9a;hb=b28fe897863536fa77dc32bf7da450d467ff6580 https://code.osehra.org/gitweb/?p=VistA-M.git;a=blob;f=Packa... and lines like this (from VistA) which is, I believe, doing some sort of string parsing. S PSRT=$S($P($P(BPSORT,U,1),":")="N":PATNAME,$P($P(BPSORT,U,1),":")="P":PINS,$P($P(BPSORT,U,1),":")="S":$S('BPCRON:-DOS,1:DOS),1:BPDIV(BPDIV)) I remember stumbling across code for implementing SHA1. Of course, MUMPS has no builtin code for bitwise operations so there was some code built for it that looked like switch(operation, operandA, operandB) { case 1: //AND {{AND A and B}} case 2: // OR {{OR A and B}} ... } which manually implemented bitwise operations using integer arithmetic
- goda90 8y agoEpic has coded around most of these issues internally. So it'll be a problem for anyone trying to pick up MUMPS out of the box, but not really for Epic.
- Fins 8y agoAt least MUMPS gets the "noSQL" thing better than any noSQL tool invented by people who weren't even born when MUMPS came out. But coding anything sufficiently complicated in MUMPS is not the most pleasant task.