The Humble Programmer

The Humble Programmer

7 i972 ACM Tearing Award Lee~ture glossary can possibly indicate. The sophical addresses at ~>~p,~ his aL tatio~ read 6y M~D. Mcllroy, chair-, precious gift that this Turing Award ready classic papers on cooperating e,lan o/l/~e A CM Tz~rit,g A ward Cot~> ack,~owledges is Dijkstra's slyle: his sequential processes, ~ and his mem~ *nitgee, at tt~e preset~taKot, o/ tkks' approach to programming as a high, orable indictment of the go-to state- lect~re <~t~ Au,g,~c,t 14, t972, at the intellectual challenge; his eloquent rnent/An influential series of letters A CM A ~m~at ('o~jere~ce in Bos'ton.] insistence and practical demonstra- by Dijkstra have recently surfaced as The workiug vocabulary of pro- tion that programs should be corn-. a potished monograph on the art of grammers everywhere is studded with posed correc@, not just debugged composing programs/" words originated or forcefully prom- into correctness; and his illmninating We have come to value good pro- )/ ulgated by E,W. Dijkstra-display0 perception of problems at the foun- grams in much the same way as we deadly embrace, semaphore, go-to- dations of program design. He has value good literature. And at the less programming, structured pro- published about a dozen papers, both center of this movement, creating and gramming. But his influence on pro- technical and reflective, among which reflecting patterns no less beautiful grammiag is more pervasive than any are especially to be noted his philo- than useful, stands E.W. Dijkstra. The Humble Programmer by Edsger W. Dijkstra ~,~ ~i~!il~ s '(;:ziii:i!!i; As a result of a long sequence I was supposed to study theoretical of coincidences I entered the pro- physics at the University of Leiden gramming profession officially on the simukaneously, and as I found ~he first spring morning of 1952, and as two activities harder and harder ,to far as I have been able to trace, I combine, I had to make up my was the first Dutchman to do so in mind, either to stop programming my country. In retrospect the mnst and become a real respectable theo- amazing thing is the slowness with retica~ physicist, or to carry my study which, at least in my part of the of physics ~o a formal completion world, the programming profession only, with a minimum of effort, and emmlged, a slowness which is now to become.,,, yes what? A pro- hard to beiieve, But I am grateful for grammer? But was ~ha~ a respect- ) ~.!;i!!:iii~ two vivid recollections from that able profession? After all, what was period that establish that slowness programming? Where was the sound beyond any doubt. body of knowledge" that could sup- After having programmed %r Copyright © I972, Association for Compu*ieg Machinery, Ir~c, Generaf per~ some three years~ I had a discussion missio~ ~o ~xep~JbF.sh, bus ~mt for profit, with van Wijngaarden, who was then all or part of ~his maa~qa/ is groined, my boss at the Mathematical Centre provided ~hat referenda: is made ~o this publica~km, to [~s date of ~ssue, and ~o in Amsterdam-a discussion for the fact %a~ reprinti~g 1~rlvileges were which 1 shall remain grateR~l ~o him gray,ted by ~rmi:ssioa of the Association! %r Compu@~g Mad@~ery. as toeg as l live, The point was that /2J~.~ Foo[no~.e8a~'e o~'t page 866~ 859 Corn ~a~1~ i¢~a !iiorls ©ctob~r ~972 of Val~m~e 15 the ACM N~amH~r t0 port it as an intellectually respectable don today. White we pursue our cance, and also because it was pat- discipline? I remember quke vividly analysis, we shall see how many endy obvious that this machine would how I envied my hardware cob common misunderstandings about have a limited lifetime, he knew ~ha, leagues, who, when asked about their the true nmure of the progranmfing very Httb of his work would have professional competence, coukt at task ca~ bc traced back to that now a lasti~G value. Finally, there i~ least point out that they knew every- distartt past. yet am~thcr circumstance that had u. thing about vacuum tubes, amplifiers The first automatic electronic profound influence ou the program- and the rest, whereas I fek that. computers wcrc ali unique, singie- reef's attitude toward his week: on when faced wida that questio~, I copy' machines and @e~ were all to the one hand, besides being unre- would stand empty-handed, Full of be found in an e~wiromnent wkh tiabk', his machine was usually too misgRings t knocked on ',an %i.jn- the exciting fla~or of an experimental slow and its memory was usually gaarden's office door, asking him laboratory. Once @e ',ision of the too small, i.e. he was faced with whether t could speak to him for a automatic computer was @ere. its a pinching shoe, whib on the o@er moment; when I left his office a realizado~ was a tremendous chair hand its usually somewhat queer number of hours later, I was an- lunge to the cbctronic technology order code would cater for the most other person. For after having Hs- then a,,ailable, and one thing is cur- unexpected constructions. And in tuned to my problems patieud3, he tam: ',~e cannot deny the courage @ose clays many a clever program- agreed that up till tiaat moment there of the groups that decided to t O to met derived an immense hucltectual was not much of a programming build such a fantastic piece of equip- satisfaction from the cunning tricks disciplin< but then he went on to taunt. For fantastic pieces of equip- by means of which he contriveci to explain quiedy @at automatic com- ment they were: in rdrospect one squeeze the impossible into the cou- puters were here to stay. that we can only wonder that those first ma- straints of his equipment. were just at the beginning and could chines worked at all, at least some- Two opinions about program- not I be one of the persons called times. The overwhehning probbm ruing date from those days. t men- to make programming a respectable was to get and keep the machine in tion them now; [ shall return to discipline in the years to come.' This working order. The preoccupation them later. The one opinion was that was a turning point in my life and with the physical aspects of auto- a really competent programmer I completed my study of physics matic computing is still reflected in should be puzzle-minded and very formally as quickly as I could. One the names of the older scientific so- fond of clever tricks; the other opin- moral of the above story is, of cieties in ~he field, such as the Asso- ion was @at programming was noth- course, that we must be very earefut ciation for Computing Machinery or ing more than optimizin~,.~~ the effi- when we give advice ~o younger the British Computer Society, names cier~cy of the conputational process, people: sometimes they follow it! in which explicit reference is made in one direction or the other. Two years later in 1957, I mar- to the physical equipment. The latter opinion was the result fled, and Dutch marriage rites re- What about the poor program- of the frequent circumstance that, quire you to state your profession mer? Well, to tell the honest truth~ indeed, the available equipment was and I stmed that I was a program- he was hardly noticed. For one thing, a painfully pinching shoe, and in mer. But. the municipal authorkies the firs~ machines were so bulky that those days one often encountered of @e town of Amsterdam did nor you could hardty move them and the naive expectation that, once more accept it on the grounds thus there besides that, they required such ex- powerful machines were available, was no such profession. And, be- tensive maintenance that it was quite programming would no longer be a lieve it or not, but under the head- natural that the place where people problem, for then the struggle to ing ~proflossion" my marriage record tried to use the machine was the push the machine to its limits would shows the ridiculous entry *{heo~ same Iaboratory where the machine no lor~ger he necessary and that was retical physicist"! had been devdoped. Secondly, the all that programming was abouL So much for the slowness with programmer's somewhat invisible was[ft it'? But in the next decades which I saw the programming pro- work was wid~out any glamour: you something completdy different hap- fession emerge in my own country. could show the machine ~o visitors pened: more powerful machines be- Since then I have seen more of the and tha~ was severai orders of map came available, not just an order world, and it is my genera1 impres- nitude more spectacular than some of magnitude more powerful, even sio~ that in other countries, apart sheets of coding. But most important several orders of magnitude more from a possible shift of dates, the of nil ~he programmer himself had powerful, But instead of finding our- grow@ pattern has been very much a very modest view of his own work: salves in a state of eternal bliss with the same. his work derived all its significance at1 programming problems solved, Let me try to capture the si~ua~ from the existence of ~hat wonderful we found ourselves up to our necks tion in those old days k~ a ti@e bit machine, Because that was a unique in the sohware crisis! How come? more detait, in the hope of getting machine~ he knew only {oo well that There is a minor cause: in one a better understar~diag of the siR~a.~ his programs had only local signifi- or two respects modern machinery Con}m~.micatior~s October I972 off Volume ~5 1be ACM Nt~mber t0 !~/ ! iS hasicuIly more difficult to haI~dlc trouble with minor prophets° of design cannot have been that bad.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us