Registration has been disabled and the moderation extension has been turned off.
Contact an admin on Discord or EDF if you want an account. Also fuck bots.

MUMPS: Difference between revisions

From Encyclopedia Dramatica
Jump to navigation Jump to search
imported>Mantequilla
No edit summary
imported>VX
No edit summary
Line 36: Line 36:
* [http://www.faqs.org/faqs/m-technology-faq/ The MUMPS FAQ]
* [http://www.faqs.org/faqs/m-technology-faq/ The MUMPS FAQ]


[[:Category:Programming]]
 
[[:Category:Softwarez]]
{{softwarez}}
[[:Category:Internets Phenomena]]
[[Category:Programming]]
[[Category:Softwarez]]
[[Category:Internets Phenomena]]

Revision as of 03:13, 31 August 2014

MUMPS is part of a series on Programming.

[2 L337 4 MEEnter the Matrix]

ADAAssemblyCC++COBOLDebugDOSErlangErrorFdiskFortranIntegerJavaLOLCodeMachine CodeMatlabMIRC ScriptMUMPSOpen SourcePerlPHPProgramming languagePythonQBASICRuby on RailsScratchSSHVisual Basic

Hacks

Firefox XPS IRC AttackSafari XPS Attack Sandworm

Programmers

Bill GatesLinus TorvaldsWeevGoatse SecurityTerry DavisTheo de Raadt

Other Topics

Operating systemWarezNotepadIs not a bug, it's a featureDatabase Error


The Massachusetts General Hospital Utility Multi-Programming System, abbreviated as MUMPS or just M, is a programming language that is absolutely unique in its shittiness. Unfortunately, although it's constructed as one of those shit esoteric languages like Brainfuck or Befunge, people actually use it.

   
 
M is a lousy language with one great data type.
 

 
 

—Steve J. Morris, as quoted in the MUMPS FAQ, part 1

The data type he's talking about is the string, which is the ONLY data type in MUMPS. That's right: strings are implicitly converted into numbers while performing mathematical operations.

   
 
The primary design goal [of] MUMPS was to create code that, once written, can never be maintained by anyone ever again. [...] A more apt name for the language certainly would have been EXPLOSIVE-DIARRHEA.
 

 
 

—Alex Papadimoulis, writing for The Daily WTF

Code samples

A Hello World program in MUMPS looks like this:

hello()
  write "Hello, World!",!
  quit

As TOW explains, the ,! part creates a newline for reasons that are totally obvious. The quit part is necessary because the MUMPS compiler doesn't give a fuck about whether or not you want a routine to end. This is also painfully apparent in the very short routine size limit, which forces most MUMPS programs to consist of a bunch of routines like ASDF1, ASDF2, and ASDF3, all chained together with GOTO statements.

Alternative version:

hello() w "Hello, World!",! q

This last program takes advantage of the fact that you can abbreviate keywords like if in one letter, like i. So does this one, which prints out a beautifully formatted table of prime numbers:

f p=2,3:2 s q=1 x "f f=3:2 q:f*f>p!'q  s q=p#f" w:q p,?$x\8+1*8

External links


MUMPS is part of a series on

Softwarez

Visit the Softwarez Portal for complete coverage.