[comp.lang.c] Rejection of <1990Oct31.014132.2400@agate.berkeley.edu>

brnstnd@kramden.acf.nyu.edu (Dan Bernstein) (10/31/90)

In article <1990Oct31.014132.2400@agate.berkeley.edu> bks@alfa.berkeley.edu (Brad Sherman) writes:
> I have included a program below which is broken by the Microsoft 6.0
> compiler on MSDOS.   While this is no great surprise, the circumstances
> that break the code have caused some concern in our shop.
  [ ``register'' breaks the compiler ]

On behalf of the comp.lang.misc crew, I regret to inform you that we
must disregard your article on the grounds that the situation you
describe is completely impossible.

Compilers no longer have bugs. Optimizers, in particular, are fully
capable of transforming programs by techniques as reliable as those
described by Dijkstra in his classic book on software design.

Microsoft is a large, respected company that hires the latest crop of
yuckies directly from the top computer science departments in the
country. It uses software engineering methods that have been proven
correct by their automated program correctness verifier. If you are
seeing unreliable results in your program, either the hardware has a
fault or quantum effects are taking hold. Your computer may soon undergo
spontaneous internal combustion.

``Software engineering'' was coined on January 17, 1985, the same day
that the last optimizer bug was reported. For more than half a decade,
optimizers have been absolutely perfect. They are always worth the time
they take, because they produce incredible speedups with no risk of
program failure. It seems safe to say that hand optimization died the
day that software engineering was invented.

Have a nice day.

---Dan
Difference between Multics and Ada: Multics was ten years *ahead* of its time.