IJMC - Religions In A Box?
Some might say, it doesn't matter if you're in a VAX, UNIX, DOS, Windows,
Mac, or Amiga environment, the programming languages are all the same.
Others might say that's true, but then, it also doesn't matter what you
use, everything works out in the end. I'm not going to add my two bits,
other than to say the last line of all this made it worth my read. -dave
This all started when a friend asked if we could consider Christianity
to be "Judaism++". What would happen if some religions were treated as
programming languages?
Judaism (J): Block-structured religion, with syntax literally carved in
blocks, although many J programmers argue about language semantics. In
program name spaces, there is only one divine object with global scope,
and no nested blocks may override its definition. Unfortunately,
debugging is difficult as the divine object cannot even be named, and
therefore exists only in whitespace. Most programs make heavy use of
"guilt()" call of "lman.a". Must use RL(1) parsers.
Roman Catholicism (J++): Object-oriented version of J (hence J++). J++
has overridden the divine object and provided a name, with other method
names seeing changes and new methods added (eg. grace(), confess() are
added to Man; "Messiah" is kept, "Sheol" is now "Las Vegas", etc.) J++
Systems Analysts must, curiously, remain celibate. The reference
platform definition resides in Rome with changes and additions made
constantly. This could be blamed by the Senior Systems Analysts'
fondness for espresso and cardinal numbers. Rumours that the language
must be expressed using only Polish notation are false.
Protestants (P, J++-): In a reaction against the ornateness of J++,
several European programmers developed P by removing contentious
library calls in J++ (eg. "checkCelibacy", "payIndulgence",
"enterPurgatory", "fishOnFridays", etc.). Different P installations
originally accepted each other's code, but, alas and alack, this is no
longer the case. There have been a few attempts to come up with a
Pcode virtual religion, but converting from one dialect to another is
difficult, and by the time the resulting program is finished running
with Pcode, the programmer ends up in therapy with a Jungian. Many J++
programmers convert to using P, but the reverse is much rarer and more
spectacular.
Southern-Baptists (Q): This is a dialect of P in which proof of program
correctness is an executing program. Q code which crashes is held to
be incorrect, but until this happens, it is nearly impossible to
convince a Q programmer that their running program has bugs. For some
reason, a recent Q language conference strengthened an old J rule that
source programs with suffix ".xx" must, without question, execute
commands given by programs with suffix ".xy".
Islam (A): There is some contention as to whether or not A code is
inspired by J and J++ language features or if it just overrides J and
J++ methods. A programmers can easily switch between J, J++ and A
code. (However, several international J++/A programming conferences
held south of Tel Aviv between the years 1095 and 1272 turned ugly as
possession of the J reference platform was disputed.) Much of A
programming revolves around appeals to an oracle object named "K",
which resolves all collisions in the combined J, J++ and A namespace.
Many different dialects of A remain popular, although interoperation
efforts have been occasionally described as "internecine". The
reference platform can be seen in Mecca only by A programmers.
Mormons (M): Inherits all method interfaces from P but completely
changes their implementations. This confuses most P programmers as
their programs will run on an M machine, but the programs have
radically different semantics from the original. Reference platform is
in Salt Lake City. Young M programmers travel in pairs, handing out
language specs and programming advice for free. Many non-M
practitioners have this spec on their shelves, but never get around to
reading it. Legend has it that an M programmer wrote the precursor to
"Doom".
Atheists (--): These programmers eschew programming languages, and
instead work with specification languages. They insist that a divine
object does not exist because it cannot be fully specified. They work
with J and J++ programmers, pointing out all the errors in latter's
code. Sadly, they actually get no work accomplished themselves because
of all the time spent specifying programs that never work properly,
although their one article of faith is that program failure is always
the fault of the programmer and never the specifier.
New Age (Omega): A scripting language combining features from the
world's major religions. Some practitioners consider themselves
wizards because of the language's difficult syntax and semantics (a bit
like awk, sed and Rexx, but with no whitespace). These wizards have
been seen explaining their code to J++ and P programmers, but the
latter have not been able to make head(1) nor tail(1) of the
algorithms. P programmers insist Omegans are really pagans, but there
is no evidence of Omegans performing code reviews at the stroke of
midnight, waving dead chickens, or using assembly code.
*--------------------------*--------------------------------------*
| Dkapell@brandeis.edu | Co-Founder CLEANS Special Forces |
| Dkapell@cs.brandeis.edu | Founder BSCF Special Forces |
| Keyworth@brandeis.edu | Keeper of The Word of The Day |
| Sinis@Taelgar.org | Weaponsmaster of Nerf |
*--------------------------*--------------------------------------*
| "Wilderness of mirrors/World of polished steel |
| Gears and iron chains/Turn the grinding wheel |
| I run between the shadows |
| Some are phantoms, some are real" |
| --Neil Peart "Double Agent" |
*-----------------------------------------------------------------*
|