Objectivist C is a programming language derived from C. Its designer characterizes it as a language designed for "programming with computers" based on the notion that there is a "platform-independent reality"; that individual programs are in contact with this reality via a "sensory perceptive programming interface"; that they execute by processing the data from this reality using "non-contradictory identification"; and that the only moral operating system is competitive multitasking.
The key principles of Objectivist C are:
- The computer exists
- Identity is implementation
- Implementation is programming
- Programming is unconsciousness
Objectivist C is a "dynamically typed" language, which means that you can type in whatever you damn well like.
In Objectivist C, identity is the controlling principle, and the purpose of a program is to "identitify" (yes, "identitify") the platform-independent reality. All variables in an Objectivist C program must be assigned before use, to themselves:
A = A;
In other programming languages, a common programming challenge is to write a program that produces a copy of itself (a "quine", after logician William van Ormand Quine). A corresponding challenge among Objectivist C programmers is to write a "rand", a program producing random yet plausible-sounding gibberish. The name "rand" may come from the C function
Memory and task management
Unlike C, Objectivist C does not require the programmer to keep track of memory allocation and deallocation; instead, objects in memory allocate and deallocate memory themselves according to their rational self-interest. Similarly, threads in a multitasking Objectivist C system compete for system resources, with the most successful threads assuming their position at the top of the scheduling list, while thread starvation eliminates the less contributing threads.