Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The humble programmer... (utexas.edu)
24 points by kamechan on Nov 11, 2010 | hide | past | favorite | 8 comments



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


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)


seems like each time i [re] read it, much of it is applicable to today's computing environment as well (replacing the languages and technologies of his speech with those of today). i guess that's part of why it's a "classic".


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!"


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.


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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: