C/C++ and Unix Revelations 
Author Message
 C/C++ and Unix Revelations

-----------------------------------------------------------

 Subject:    C and UNIX Revelations

Creators Admit Unix and C Language Hoax

In an announcement  that stunned the computer  industry, Ken
Thompson,  Dennis Ritchie and Brian  Kernighan  admitted the
Unix operating system and C programming  language created by
them is an  elaborate  prank,  kept  alive  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 recoded
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 50k
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=3DC;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 AIDA 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  "Hello,
World".

Major  Unix and C vendors  and  customers,  including  AT&T,
Microsoft,  Hewlett-Packard,  GTE, NCR, and DEC have refused
to  comment  on  the   announcement.  Officials  of  Borland
International,  a leading vendor of  object-oriented  tools,
including   Turbo  Pascal  and  Borland   C++,  stated  they
suspected this for a couple of years.

In fact, the  notoriously  late  Quattro Pro for Windows was
originally  written  in C++.  Borland  CEO Del  Yocam  said:
"I'm told that,  after two and a half years of  programming,
and massive programmer  burn-out, we recoded the whole thing
in Turbo  Pascal  in  three  months.  It's  fair to say that
Turbo  Pascal  saved our bacon back then".  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.

-----------------------------------------------------------

Happy April 1st!

Kevin Szabo



Sat, 18 Sep 1999 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. to CS: or not to CS: in F-PC assembler

2. Migrating from UNIX C++ to MVS C++

3. Camp Smalltalk (CS 6) registration

4. APL as First Language for CS

5. SoftEng or CS Graduate Program Search

6. Test and Set (TS) vs Compare and Swap (CS)

7. Refactored Plus All Missing CS ANSI Tests In SIF

8. Camp Smalltalk (CS 6) registration

9. vwnc@cs.uiuc.edu

10. Next instr of the week - CS please

11. CS Refactoring Browser Extensions

 

 
Powered by phpBB® Forum Software