> Creators Admit UNIX, C Hoax > --------------------------- > > 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 > language. This was Dennis's contribution, and he in fact coined the term > "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: > > for(;P("\n"),R-;P("|"))for(e=3D3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2); > > 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 environment. > > 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. 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 "Hello, World". > > 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 this for a couple of years. In fact, the notoriously late > Quattro Pro 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. >