(First appeared in Vol 7 Issue 4 of C Vu, the journal of the Assn of C and C++ Users)
- In the beginning Dennis created the compiler and the preprocessor.
- And the program was without form, and void; and assembler was upon the face of the coding sheets. And the Spirit of Dennis moved upon the face of the programmers.
- And Dennis said, Let there be compilation: and there was compilation.
- And Dennis saw the compilation, that it was good:
and Dennis divided the keywords from the
identifiers.
- And Dennis called the compiler C, and the darkness he called Assembler. And the compiler and the preprocessor were the 0.1 beta release.
- And Dennis said, Let there be operators in the midst of the statements, and let it divide the operands from the operands.
- And Dennis made the built-in types, and divided the integers which were under the CPU from the floats which were under the floating point processor: and it was so.
- And Dennis called the code modules functions. And the compiler and the preprocessor were the 0.2 beta release.
- And Dennis said, Let the operands under the compiler be gathered together unto one place, and let the precedence rules appear: and it was so.
- And Dennis called the precedence rules a good joke; and the gathering together of the operands called he Memory-Test: and Dennis saw that it was a bit of a hoot.
- And Dennis said, Let the comparison operators bring forth 1 or 0, the pseudo-boolean, and the short- circuiting operators after his kind, whose result is in itself, a sort-of boolean: and it was so.
- And the relational operators brought forth logical operators, and logical expressions yielding pseudo- booleans after his kind, and the comparison operators yielding 0 or 1, whose value was in itself, after his kind: and Dennis saw that it was still a bit of a hoot.
- And the compiler and the preprocessor were the 0.3 beta release.
- And Dennis said, Let there be loops in the statements of the compiler to divide the code into blocks; and let them be for creating off-by-one errors:
- And let them be loops in the code of the compiler to give loops around the code: and it was so.
- And Dennis made two great statements; the greater, if, to rule the day, and the lesser, switch, to rule the night: he made the else also.
- And Dennis set them in the code of the compiler to give selection upon the data values,
- And to decide between this and that, and to divide the EOF from the valid characters: and Dennis saw that it was good.
- And the compiler and the preprocessor were the 0.4 beta release.
- And Dennis said, Let the operands bring forth abundantly the subtle bugs that hath life, and memory leaks that keep the programmer guessing.
- And Dennis created great structures, and every array, which the pointers were confused with, after their kind, and every indirection operator after his kind: and Dennis saw that it was good.
- And Dennis blessed them, saying, Be fruitful, and multiply, and fill the code in the compilers, and let implicit casts multiply in the code.
- And the compiler and the preprocessor were the 0.5 beta release.
- And Dennis said, Let the compiler bring forth the obfuscated programs after his kind, utilities, and operating systems, and beasts of compilers after his kind: and it was so.
- And Dennis made the compilers of the C language after his kind, and programs after their kind, and every thing that creepeth upon the Unix file system after his kind: and Dennis saw that it was good.
- And Dennis said, Let us make programmers in our image, after our likeness: and let them have dominion over the compilers of the C language, and over the operating system calls, and over the file system, and over all the heap memory, and over every little utility that creepeth upon the system.
- So Dennis created programmers in his own image, in the image of Dennis created he him; male and female created he them, though inexplicably more of one than the other.
- And Dennis blessed them, and Dennis said unto them, Be fruitful, and multiply, and replenish the compiler, and subdue it: and make it an ANSI standard, and then an ISO standard.
- And Dennis said, Behold, I have given you every operator which is necessary (*), and every statement, in which is the form of a few keywords; to you it shall be easy.
- And Dennis saw every thing that he had made, and, behold, it was very good. And the compiler and the preprocessor were the 0.6 beta release.
- Thus the compiler and the pre-processor were finished, and all the host of them.
- And on the seventh day Dennis issued the 1.0 release of the compiler; and he rested on the seventh day from all his work which he had made.
- And Dennis blessed the seventh day, and sanctified it: because that in it he had rested from all his work which Dennis created and made.
- These are the generations of the compiler and the pre-processor when they were created, in the day that Dennis made the pre-processor and the compiler.
