[RoLUG] OT : la vera storia del linguaggio c

ben rolug@lists.linux.it
Tue, 11 Mar 2003 20:31:41 +0100


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=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 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.