

The humble programmer... - kamechan
http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html

======
RiderOfGiraffes
An old friend:

<http://news.ycombinator.com/item?id=1799296>

<http://news.ycombinator.com/item?id=1672262>

<http://news.ycombinator.com/item?id=1649246>

<http://news.ycombinator.com/item?id=1179277>

<http://news.ycombinator.com/item?id=449806>

<http://news.ycombinator.com/item?id=156505>

<http://news.ycombinator.com/item?id=135111>

<http://news.ycombinator.com/item?id=126638>

<http://news.ycombinator.com/item?id=109724>

<http://news.ycombinator.com/item?id=86288>

~~~
twymer
Funny that despite so many postings, it brought up almost no discussion at any
point.

~~~
ambertch
well, this should probably be reposted periodically anyways.

It's like Steve Jobs' Stanford 2005 commencement speech - regardless of your
opinion of Jobs it's one of those things you should read/watch periodically.

Many documents we should reread periodically in order to enforce the values
contained therein. (If you're a religious person it's like how you read the
bible often even though you've seen it all before)

------
Hexstream
My personal highlights (I'm a DSL fanatic):

"We all know that the only mental tool by means of which a very finite piece
of reasoning can cover a myriad cases is called "abstraction"; as a result the
effective exploitation of his powers of abstraction must be regarded as one of
the most vital activities of a competent programmer. In this connection it
might be worth-while to point out that the purpose of abstracting is not to be
vague, but to create a new semantic level in which one can be absolutely
precise.

[...]

Now for the fifth argument. It has to do with the influence of the tool we are
trying to use upon our own thinking habits. I observe a cultural tradition,
which in all probability has its roots in the Renaissance, to ignore this
influence, to regard the human mind as the supreme and autonomous master of
its artefacts. But if I start to analyse the thinking habits of myself and of
my fellow human beings, I come, whether I like it or not, to a completely
different conclusion, viz. that the tools we are trying to use and the
language or notation we are using to express or record our thoughts, are the
major factors determining what we can think or express at all!"

------
torial
I find this quote to be interesting...

"On the contrary: the programmer should let correctness proof and program grow
hand in hand. Argument three is essentially based on the following
observation. If one first asks oneself what the structure of a convincing
proof would be and, having found this, then constructs a program satisfying
this proof's requirements, then these correctness concerns turn out to be a
very effective heuristic guidance."

Anyone else think that TDD is a close approximation of what Dijkstra was
talking about in the quote? FWIW - I say this as a non-practioner of TDD.

~~~
barrkel
I think Dijkstra had a far higher bar for what counts as proof, compared to
tests.

------
bwooceli
_"I had to make up my mind, either to stop programming and become a real,
respectable theoretical physicist ... or become a programmer"_

Humbling to think about how far we have advanced and the shoulders of the
giants we stand on. The alternatives at my disposal are not in the same
league.

