View unanswered posts | View active topics It is currently Wed Sep 03, 2014 3:09 am






Reply to topic  [ 3 posts ] 
Creators Admit Unix and C Language Hoax 
Author Message
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Creators Admit Unix and C Language Hoax
http://www.netjeff.com/humor/item.cgi?file=c.hoax.txt
Quote:
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 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 "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.



My suspicion:
(censored)

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Mon Jun 29, 2009 4:19 pm
Profile
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:44 am
Posts: 439
Location: Pittsburgh, PA
Post Re: Creators Admit Unix and C Language Hoax
Ford, what was the point of this post?

_________________
Vu Nguyen
Software Training Development Team | Webmaster
Need more support? Use the ROBOTC Ticketing system

Robotc.net| Robomatter Store | Robotics Academy | CS2N


Mon Jul 06, 2009 8:28 am
Profile
Guru
User avatar

Joined: Sat Mar 01, 2008 12:52 pm
Posts: 1030
Post Re: Creators Admit Unix and C Language Hoax
just a funny story -
don't you think?^^

_________________
regards,
HaWe aka Ford
#define S sqrt(t+2*i*i)<2
#define F(a,b) for(a=0;a<b;++a)
float x,y,r,i,s,j,t,n;task main(){F(y,64){F(x,99){r=i=t=0;s=x/33-2;j=y/32-1;F(n,50&S){t=r*r-i*i;i=2*r*i+j;r=t+s;}if(S){PutPixel(x,y);}}}while(1)}


Mon Jul 06, 2009 2:00 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.