Objectivism-oriented programming
From Uncyclopedia, the content-free encyclopedia.
Objectivism-oriented programming is a software development methodology originally created by members of Ayn Rand's Church of Objectivism, and should not be confused with Object Oriented Programming. While considered by many to be extreme, it is also not in itself a form of Extreme Programming, although extreme programmers might make use of its techniques from time to time.
The fundamental tenet of Objectivism-oriented programming is that all computation can be performed by a single operation of the form
A=A
While computer scientists insist that this accomplishes nothing (making it merely a form of nonfunctional programming) and that Objectivism-oriented programmers are performing massive computational hand waving behind the scenes to obtain the intended value of A, Objectivism-oriented programming has become incredibly popular in the software industry.
A similar topic in computer engineering is known as the RAND Gate which returns whatever value it is given as an input.One of the deep problems within Objectivism-oriented programming involves the transition of the state-machine from loaded to running. Because the initial state of the machine at load time cannot be known, there exists (for a while) the state where A is unknown, making A=A highly suspect. So far, the only Objective way out of this mess is to divide Logic by Zero (see HowTo:Divide by Zero). And you wondered why Microsoft software has memory leaks.
Contents |
[edit] Other contributions
In C, the rand() function returns a random number between 0 and 32767. The aynrand() function, by contrast, returns a random number between 1 and 1.
[edit] Examples of Objectivism-oriented programming
The language of choice for this methodology is Objectivist C. However, you can still do objectivist-oriented programming in less rational languages:
[edit] 4th
A @ A !
[edit] BASIC
10 LET A=A
[edit] PDP-8 assembly language
CLA TAD A DCA A
[edit] C
main()
{
int a;
a = a;
}
[edit] C#
main()
{
int a;
a = a;
}
generates error: Use of unassigned local variable 'a'
[edit] Java
public class ObjectivistObject extends java.lang.Object {
private int a;
public static void main(String[] args) {
ObjectivistObject objectivist_object = new ObjectivistObject();
}
protected ObjectivistObject() {
a = a;
}
}
[edit] Malbolge
('OscarWilde:MalbolgeIsLikeDatingAGerman')
[edit] Perl
my $a = (@{{ 'a' => ['a']}->{'a'}})[0];
[edit] Shell scripting
A=$A
[edit] Lisp
(setq a a)
[edit] Scheme
(define 'a
((((lambda (l) l)
(lambda (a) a))
'a)))
[edit] Arc
; using special internal variables known to be ; equal to each other (= pg i-rule-you-suck-wanna-start-a-startup?)
[edit] PHP
<?php $a = $a; ?>
[edit] ENTERPRISE COBOL
IDENTIFICATION DIVISION. CLASS-ID. AYN INHERITS RAND. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS RAND IS "java.lang.OBJECTIVISM". IDENTIFICATION DIVISION. FACTORY. DATA DIVISION. WORKING STORAGE SECTION. 01 A PIC 9(6) VALUE ZERO. PROCEDURE DIVISION. IDENTIFICATION DIVISION. METHOD-ID. OBJECTIVISM. PROCEDURE DIVISION. METHOD OBJECTIVISM. MOVE A TO A. END METHOD OBJECTIVISM. END OBJECT. END CLASS.
[edit] IBM System/360 assembler
L 1,A ST 1,A
[edit] IBM z/Architecture assembler
LG 1,A STG 1,A
[edit] Intel 80386 machine language
PX
[edit] Coq
Inductive eq (A:Type) (a:A) : A -> Prop :=
refl_equal : a = a :> A
where "a = aa :> A" := (@eq A a aa) : type_scope.
Notation "a = aa" := (a = aa :> _) : type_scope.


