term% cat index.txt
In an announcement that has stunned the computer industry, Ken Thompson, Dennis
Ritchie and Brian Kernighan admitted that the Unix operating system and C
programming language created by them is an elaborate prank kept alive for over
20 years. Speaking at the recent UnixWorld Software Development Forum, Thompson
revealed the following:
"In 1969, AT&T had just terminated their work with the GE/Honeywell/AT&T
Multics project. Brian and I had started work with an early release of Pascal
from Professor Niklaus Wirth's ETH Labs in Switzerland and we were impressed
with its elegant simplicity and power. Dennis had just finished reading 'Bored
of the Rings', a National Lampoon parody of the Tolkien's 'Lord of the Rings'
trilogy. As a lark, we decided to do parodies of the Multics environment and
Pascal. Dennis and I were responsible for the operating environment. We looked
at Multics and designed the new OS to be as complex and cryptic as possible to
maximize casual users' frustration levels, calling it Unix as a parody of
Multics, as well as other more risque! allusions. We sold the terse command
language to novitiates by telling them that it saved them typing.
Then Dennis and Brian worked on a warped version of Pascal, called 'A'. 'A'
looked a lot like Pascal, but elevated the notion of the direct memory address
(which Wirth had banished) to the central concept of the "pointer" as an
innocuous sounding name for a truly malevolent construct. Brian must be
credited with the idea of having absolutely no standard I/O specification: this
ensured that at least 50% of the typical commercial program would have to be
re-coded when changing hardware platforms.
Brian was also responsible for pitching this lack of I/O as a feature: it
allowed us to describe the language as "truly portable". When we found others
were actually creating real programs with A, we removed compulsory
type-checking on function arguments. Later, we added a notion we called
"casting": this allowed the programmer to treat an integer as though it were a
50kb user-defined structure. When we found that some programmers were simply
not using pointers, we eliminated the ability to pass structures to functions,
enforcing their use in even the simplest applications. We sold this, and many
other features, as enhancements to the efficiency of the language. In this way,
our prank evolved into B, BCPL, and finally C.
We stopped when we got a clean compile on the following syntax:
At one time, we joked about selling this to the Soviets to set their computer
science progress back 20 or more years.
Unfortunately, AT&T and other US corporations actually began using Unix and C.
We decided we'd better keep mum, assuming it was just a passing phase. In fact,
it's taken US companies over 20 years to develop enough expertise to generate
useful applications using this 1960's technological parody. We are impressed
with the tenacity of the general Unix and C programmer. In fact, Brian, Dennis
and I have never ourselves attempted to write a commercial application in this
We feel really guilty about the chaos, confusion and truly awesome programming
projects that have resulted from our silly prank so long ago."
Dennis Ritchie said: "What really tore it (just when ADA was catching on), was
that Bjarne Stroustrup caught onto our joke. He extended it to further parody
Smalltalk. Like us, he was caught by surprise when nobody laughed. So he added
multiple inheritance, virtual base classes, and later ...templates. All to no
avail. So we now have compilers that can compile 100,000 lines per second, but
need to process header files for 25 minutes before they get to the meat of
Major Unix and C vendors and customers, including AT&T, Microsoft,
Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time.
Borland International, a leading vendor of object-oriented tools, including the
popular Turbo Pascal and Borland C++, stated they had suspected for Windows was
originally written in C++. Philippe Kahn said: "After two and a half years
programming, and massive programmer burn-outs, we re-coded the whole thing in
Turbo Pascal in three months. I think it's fair to say that Turbo Pascal saved
our bacon". Another Borland spokesman said that they would continue to enhance
their Pascal products and halt further efforts to develop C/C++.
Professor Wirth of the ETH Institute and father of the Pascal, Modula 2, and
Oberon structured languages, cryptically said "P.T. Barnum was right." He had
no further comments.