
|
Page: Opinion
Main article
| Home > Child Health > Opinion |
Debates on the merits and drawbacks of the MUMPS language are virtually nil for pragmatic reasons. Most existing applications using MUMPS have been around since the 1970s and consist of large code collections that would be infeasible (or at least, very costly) to rewrite in another language. Software houses selling MUMPS-based applications rarely give the end-user the chance to interact with the language, so the applications are sold on their own merits, not the language's.
MUMPS' major competitor in the database-specialized language arena is SQL. SQL cannot usually be used on its own though, as it is not a complete language. Neither does SQL specify how the database is to be structured. When a MUMPS implementation is compared to other languages, it is usually a combination of several languages and a database vendor, for example SQL + C + Oracle, or SQL + Perl + PostgreSQL. Some MUMPS vendors even support the SQL + MUMPS combination. MUMPS offers both more and less native functionality in different areas than SQL and C, and may both outperform or underperform against Oracle depending on what you want to do. Comparisons are always difficult, perhaps explaining why there has never been a strong incentive to rewrite MUMPS applications in other languages. Brand-new database-driven applications are likely to be written in SQL and C, PHP or another popular language simply because there is a much wider talent pool of people with those skills.
Pro
MUMPS vendors have called MUMPS the 'Best-kept secret in IT', and Richard G. Davis (in Walters, 1989) commented that "Where economics has been a primary consideration... the MUMPS language has distinguished itself."
MUMPS advocates believe it to be undervalued-in part due to its venerable age, its facetious name, and its "total indifference to academic correctness".
MUMPS has a number of features to recommend it; it can run with minuscule system requirements, non-programmers can easily learn its simple yet rigid syntax, new programmers can see results very quickly. The language offers many native features that are available in other languages only through libraries. MUMPS' advantages over other languages available in the 1970s are even clearer; it typically used far less memory and CPU resources than Lisp, and makes it much easier for the programmer to interact with the database than Fortran.
MUMPS advocates often claim significant speed advantages over non-MUMPS competitors. A benchmark in the early 1980s sponsored by DEC found that DEC's MUMPS implementation running on DEC hardware was 3-6 times faster than Oracle implementations running on IBM and HP hardware. There do not seem to be any comparison studies with results publicly available after 1990.
Con
MUMPS's lack of popularity and its differences from modern languages in widespread use are perhaps its biggest drawbacks. String length/database node length limitations and lack of DBMS or object-oriented features are often criticisms cited by advocates of other database solutions.
Non-standard, vendor-specific workarounds are offered for most of these problems, but using them can make your code non-portable to other MUMPS implementations.
The language allows the use of GOTO commands which can reduce development time required to solve specific problems but can encourage the use of many antipatterns and therefore make debugging more challenging.
|
Important notice:
The content is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other
qualified health provider with any questions you may have regarding a medical condition.
|