|
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. Debugging is difficult as the divine object cannot even be named, and so 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. This could be blamed on Senior Systems Analyst's 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 ornate 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.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 then, it is nearly impossible to convince a Q programmer that the program has bugs.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. Programmers in A can easily switch between J, J++ and A code. 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'. Reference platform can be seen in Mecca only by A programmers.Buddhism(B): Programmers in this language have been trying to resolve problems with 'while' and 'wend' which leave them trapped in endless loops.Mormons(M): Inherits all method interfaces from P but completely changes their implementations, confusing most P programmers as their programs will run on an M machine, but with 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. Legend has it that an M programmer wrote the precursor to 'Doom'.Atheists(--): Programmers eschew programming languages, and 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 their code. They do no work themselves because of time spent specifying programs that never work properly. Their one article of faith is that program failure is always the fault of the programmer, never the specifier.New Age(Omega): Scripting language combining features from major codes. Some practitioners think themselves wizards because of Omega's difficult syntax and semantics (a bit like awk, sed and Rexx, but with no whitespace). They have been seen explaining their code to J++ and P programmers, but the latter have not made head(1) nor tail(1) of the algorithms. P programmers insist that Omegans are pagans, but there is no evidence of them performing code reviews at the stroke of midnight, waving dead chickens, or using assembly code. |
