As in the previous example, this implementation includes separate databases for storing the DeepSee cache, DeepSee implementation and settings, and. Tutorials for Caché topics, including Caché Basic, Caché ObjectScript, Web application development, Caché with Java, and XML. Applies to Caché & Ensemble. Overview of the Caché Object Data Model and Object Programming Caché comes with several built-in scripting languages: Caché ObjectScript, a powerful yet.
|Published (Last):||12 April 2010|
|PDF File Size:||3.35 Mb|
|ePub File Size:||20.1 Mb|
|Price:||Free* [*Free Regsitration Required]|
Almost two years ago I started a new employment in healthcare. I was a little intrigued that I had never heard of it before, since the resident databaseadministrator described it as the Final Answer To All Problems.
I worked through the tutorial, thinking that it would “open up” and give away all these amazing features. It didn’t took me long to inrersystems how wrong he was.
MUMPS – The Most Important Database You (Probably) Never Heard Of
Let it sink in for a while Yes, that’s right, you have to use a special application to edit your code. This means no easy backups you have to either backup the whole database or make an ‘export’ of your project to XMLno version management system CVS, Subversionno auto documentation tools, no analysis tools, no nothing I can’t really tell you how much this sucks. The IDE, Intersystems Studio, is pretty much just a texteditor which highlights syntax errors in red. When I complained about Studio a sales representant told me that “we’re not a tools company, we’re a database company” and then, in the next sentence as an answer to my question about the possibility to use other tools: This is a lame attempt to add OO concepts to a basically dead language.
It’s not enough to add something called ‘class’ and then be done. No exception handling, no encapsulation, no typing, and so on. Worst part is that the class is ‘compiled’ into something which is basically Mumps-based. You write in one language which compiles into more or less the same language. Smells like a macro-language if you ask me. Problem is that if a runtime programming error occurs the error refer to the compiled code!
But it’s not line in your code! This is like coding in Java and having the VM point you to the bytecode when something goes wrong With the error message “it’s wrong”. And it doesn’t stop there. Remember how popular it was in the end of the 90’s to embedd programming languages in HTML-pages? These are actually stored as regular files, probably because Intersystems use a mod for Apache to handle them.
Yes, that’s right, to something which in turn is compiled to yet another form. Where do you think errors refer? Did I tell you that the documentation absolutely sucks? They have some documentation available similar to javadoc, but where the JDK tells you what you need and usually more their version is amazingly sparse. Once I tried to call a static method in a class and got errors however I did it. Turned out that that particular class wasn’t converted to the new OO system and that you needed to use the old calling method, but this information was nowhere to be found it didn’t differ one bit from other classes I used.
I could go on here The funniest thing is how the newsletter and other propaganda makes you think of a sect or something. Everything is sooo great and so much faster than everything else. Let the truth be heard!
I think you might’ve started in the job after I resigned I did a stint for 6 months at a certain hospital, where they used Cache-based software to run the emergency department. All I can say is, you were too fair on Cache, CSP, the tools, the language and so on – that was a nightmare six months I never want to go through again.
That was the nastiest software development or is that DBA’ing: I even had the ‘pleasure’ of going to one of the sales spiels on the ‘new’ Cache with all its OO features and so on They seem to have gelled all of the bad things of proprietary software environments with all of the lessons learned of how not to run large scale projects.
Then they have the hide to go and boast about their database technology I still run cold at the mention of CSP’s. Well, in my original rantI was trying to be discrete.
In theory, I’m not responsible for ‘development’ on this POS, just supporting it for my users, and trying to figure out how to query it for reporting purposes. Oh, yeah, good luck trying to find any sort of querying tool that can give you a useful execution plan; “Query tuning? Where’s the blazing speed that the zealots like to preach about? Should I mention that this pile of crap is supposed to be happy on low-end hardware, but in my case is running on a quad-processor machine?
Our vendor, who shall remain nameless, is even more clue-challenged than Intersys. Of course, I’m not allowed at the code, but the number of bizarre bugs, glitches, general weirdness and WTF-inspiring bits of interface design makes me want to get my hands on whatever stuff their QA guys are smoking. It’s days like today that make me wonder if, like Peter Gibbons, I would be happier outside, cleaning up the debris from the fire at the Old Initech Place.
Hey, here’s a WTF: I have to agree, you’ve had me rolling on the floor from this thread. The requirements are pretty ridiculous, they were telling us that we need 12 processors, we also need 2 full arrays in the SAN for their application to work properly.
When the question as to why we need to isolate their application and database when we have the same set up for our Oracle databases, they couldn’t give us a satisfactory answer. We’ve had quite the opposite experience having gone from Oracle to Cache’, we got to cut the hardware we were using by almost half. Wonder what’s different about your set up.
I just got a link to this book from O’Reilly, and I can’t believe someone actually would do this Doesn’t surprise me that all of you work at hospitals MUMPS was developed at a hospital, hence the name.
Intersystems Cach&#; — Gateway to hell – What the Daily WTF?
Maybe it’s just too old for our eyes. Or maybe the old quote is still true: Apparently Intersystems has created another database called Ensemble, which is supposedly used at places like Verizon, U. That would cachf the WTF is this on my bills every month.
Do you know other DBMS without impedance mistmatching? Use Cache’ Basic if you don’t like M language for some reason. Although I don’t miss the language itself much except from a sick, twisted sense of nostalgiaI do miss some of its features. The thing I miss most about it is the hierarchical database backing it. What takes multiple tables and cross-ref tables in a relational database can be done inside a single database structure called a Global in MUMPS.
Also, it is trivial and runtime fast to create any number of indices into a Global by putting your indexed data into the hierarchical keys. So data search and retrieval can be incredibly cqche and efficient.
Another nice feature is the intimate relationship between the language and the database. First, variables are also hierarchical and can contain data in the keys. Second, you can set entire database structures into local memory with one operation. It means “Line is labelled A.
Breakpoint if C is true. Do the E subroutine. If L is true, kill unset the M variable. Create new variables O and P. If R is true, quit. Another downside is certainly the self-contained environment.
Of course, as we see here all too frequently, that’s true in most languages. And as in any other language, a competent, disciplined programmer can write very clear maintainable code. I do know that Cache is a bastardization of the original language and that Intersystems is, well, um, I’ll try to avoid libel by just saying “not the greatest company in the world.
Actually, Cache reminds me of a really fucked up version of Same obscure idiotic ideas Scripting Language inside Web Pages with really retarded processing, and error output. I mean, having to type CSP: WTF any time I want to do something is just annoying, and then there’s the fact that they tied it onto a database engine. First, they’re Web Server Sucks and their documentation sucks, cacche I’d have switched it over to the Apache Web Server I have running on my dev machine.
What the Daily WTF?
There’s no way to see the tables it’s a class, which doesn’t make sense, because the idea behind a table is that it represents a single object, not a collection of objects.
The data is the collection of objects. Then there’s this Obj ect Id that I guess is what the damn tables should tuforial be indexed on, but its a “imaginary” field the same way Sqrt -1 is an imaginary number.
So you have these tables, that you can’t really see, and you have data, which is like no where. No way to access it. It’s the ultimate system for holding data captive. I’m sure there are some companies I’m not going interzystems name names that love this shitty system, because the healthcare industry is intensely competitive Prime Competition for my firm are other firms in the area, we’ve crushed the Indians India cause their support sucks, and they can’t program their way out of a paper bag.
Great way to piss off clients. So far it seems like their programmers aren’t worth a shit, but I think it’s because they are stuck dealing with Cache.