70's futuristic technology

Programming focused drivel

Friday, November 04, 2005


Some of the rules
I have in mind are so clear that they
can be taught and that there never
needs to be an argument as to
whether a given program violates
them or not. Examples are the re-
quirements that no loop should be
written down without providing a
proof for termination or without
stating the relation whose invariance
will not be destroyed by the execu.-
tion of the repeatable statement.

I now suggest that we confine
ourselves to the design and imple-
mentation of intellectually manage-
able programs.
...
the class of intellectually man-
ageable program.s is still sufficiently
rich to contain many very realistic
programs for any problem capable
of algorithmic solution, We must
not forget that it is ~ot our business
to make programs; it is our busmess
to design classes of computations
that will display a desired behavior.
...
that the tools
we are trying to use and the lan-
guage or notation we are using to
express or record our thoughts arc
the major factors determining what
we can think or express at all!
...

The competent programmer is fully aware of
the strictly limited size of his own
skull; therefore he approaches the
programming task in full humility,
and among other things he avoids
clever tricks like the plague.
...
uage as a tool is an
open invitation for clever tricks; and
while exactly this may be the ex-
planation for some of its appeal,
i'ic. to those who like to show how
clever they are, 1 am sorry, but
I must regard this as one of the
most ctarnning things that can be
said about a programming language.
...
out as being too baroque. I have run
a little programming experiment with
really experienced volunteers, but
something quite unintended and quite
unexpected turned up. None of my
volunteers found the obvious and
most elegant solution. Upon closer
analysis this turned out to have a
common source: their notion of rep-
etition was so tightly connected to
...
the only problems we can really
solve in a satisfactory manner are
those that finally admit a nicely fac-
tored solution. At first sight this
view of human limitations may strike
you as a rather" depressing view of
our predicament, but I don't feel it
that way. On the contrary, the best
way to learn to live with our limita-
tions is to know them.
...
-- The Humble Programmer by Edsger W. Dijkstra

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home