Tölvumál - 01.10.2013, Blaðsíða 15

Tölvumál - 01.10.2013, Blaðsíða 15
15 kom meðal annars fram sú skoðun hans að „gæði forritara eru í öfugu hlutfalli við þéttleika GOTO skipana í þeim forritum sem þeir skrifa„ [6]. Dijkstra sendi þessar hugleiðingar til tímaritsins Communications of the ACM en ritstjóri þess var Niklaus Wirth. Til að flýta fyrir birtingu þessara hugleiðinga þá breytti hann forminu yfir í bréf til ritstjórans ásamt því að breyta titlinum í „GOTO considered harmful„, eða „GOTO talið hættulegt„. Fljótlega hófst mikil umræða um gildi GOTO skipunarinnar í forritun. Árið 1987 birti Frank Rubin grein í sama tímariti undir nafninu „„GOTO considered harmful„ considered harmful„, þar sem hann réðist gegn grein Dijkstra og reyndi að sýna fram á að ómögulegt væri að leysa sum vandamál innan forritunar án þess að nota GOTO [7]. Moore og félagar reyndu að svara Rubin með grein sinni „„„GOTO considered harmful„ considered harmful„ considered harmful?„ [8]. Þá fékk Dijkstra nóg af þessari vitleysu og sendi inn grein sem kallast „On a somewhat disappointing correspondence„ [9]. Í þeirri grein byrjar Dijkstra á að fullyrða að Rubin geti ekki verið alvöru tölvunarfræðingur því hann byrjar að telja lista í 1 en ekki í 0. Að því loknu rífur hann grein Rubins kerfisbundið í tætlur og setur fram sýnidæmi sem afsanna fullyrðingar Rubins. Það er hins vegar bersýnilegt að það sem veldur Dijkstra mestum vonbrigðum í þessari ritdeilu er sú staðreynd að Moore og félagar hafi verið tilbúnir til að samþykkja eitthvað af rökum Rubin. Breyting Niklaus Wirth á titli greinar Dijkstra átti eftir að hafa meiri breytingar í för með sér en lönguvitleysuna í ritdeilunni um GOTO. Ef leitað er á netinu að forskriftinni „... considered harmful„ þá má finna þúsundir tilvísana þar sem flestallir hlutir milli himins og jarðar eru taldir hættulegir. Til gamans má nefna tilraun Eric Mayer til að sporna við þessari þróun með því að birta grein árið 2002 sem kallast „„Considered Harmful„ Essays Considered Harmful„ [10]. Dijkstra hafði mikil áhrif á tölvunarfræði, forritun og þróun tölvunnar. Hann var oft í fararbroddi á miklum umbyltingartímum og þróaði margt sem við teljum sjálfsagt í forritun í dag. Til að mynda er gagnatagið stafli (e. stack) hannað af Dijkstra, semafórur (e. semaphores) sem eru notaðar í flestöllum stýrikerfum til að stjórna aðgengi að takmörkuðum auðlindum voru settar fram af Dijkstra, lagskipting stýrikerfa, eins og er reglan í öllum stýrikerfum í dag, var sett fyrst fram í THE stýrikerfinu en Dijkstra var framarlega í hópnum sem bjó til það kerfi. Einnig má nefna framlag Dijkstra til sviða eins og self-stabilizing kerfi með dreifðri stjórnun [11], en fyrir það framlag voru PODC verðlaunin endurskírð sem Dijkstra verðlaunin árið 2002. Þegar Dijkstra hlaut Turing verðlaunin þá var ástæðan gefin upp sem: „For fundamental contributions to programming as a high, intellectual challenge; for eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; for illuminating perception of problems at the foundations of program design.„ [12] Í þakkarræðu sinni, sem kallaðist „hinn auðmjúki forritari„ [13] þá réttlætir Dijkstra viðhorf sitt til agaðra vinnubragða og lýsir þeirri skoðun sinni að það sé lífsnauðsynlegt fyrir framtíð tölvunarfræði og forritunar að forrit séu eins fáguð og hægt er og að aldrei sé slakað á kröfum um fagleg vinnubrögð. Dijkstra lést 6. ágúst 2002. Hann hefur markað djúp spor í sögu tölvunarfræðinnar, en bestu eftirmæli hans eru líklega komin frá honum sjálfum. Í EWD skýrslu númer 1213 sem hann birti árið 1995 þá berst talið að ódauðleika, og þá setur hann fram eftirfarandi línur: „If 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself: „Dijkstra would not have liked this.„, well that would be enough immortality for me.„ [14]. Heimildir: [0] Mikkel Thorup, ‘Undirected single-source shortest paths with positive integer weights in linear time’, Journal of the ACM 46(3): 362–394, 1999. [1] Thomas J. Misa and Philip L. Frana. 2010. An interview with Edsger W. Dijkstra. Commun. ACM 53, 8 (2010), 41-47. [2] A note on two problems in connexion with graphs, Numerische mathematik, 1959. [3] EWD 498, „How Do We Tell Truths that Might Hurt„, http://www.cs. utexas.edu/~EWD/ewd04xx/EWD498.PDF [4] EWD 1304, „The end of Computing Science?„, https://www.cs.utexas. edu/~EWD/ewd13xx/EWD1304.PDF [5] Alan Kay, 1997 ACM Conference on Object-Oriented Programming, Systems, Languages and applications (OOPSLA) keynote speech. [6] „GOTO considered harmful„. A letter to the editor of Communications of the ACM (1968). Editor Niklaus Wirth [7] „„GOTO considered harmful“ considered harmful„„ by Frank Rubin (Comm. ACM, 1987) [8] „„„GOTO considered harmful„ considered harmful„ considered harmful?„ by Moore et al (Comm. ACM, 1987) [9] EWD 1009 „On a somewhat disappointing correspondence.„ (1987), http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1009.PDF [10] http://meyerweb.com/eric/comment/chech.html [11] EWD 426: Self-stabilizing systems in spite of distributed control. Commun. ACM 17 (1974), 11: 643–644. [12] http://amturing.acm.org/award_winners/dijkstra_1053701.cfm [13] EWD 340: „The humble programmer„ (1972), http://www.cs.utexas. edu/~EWD/ewd03xx/EWD340.PDF [14] EWD 1213: „Introducing a Course on Calculi„ (1995), http://www. cs.utexas.edu/~EWD/ewd12xx/EWD1213.PDF Mynd fengin af http://en.wikipedia.org/wiki/File:Edsger_Dijkstra_1994.jpg

x

Tölvumál

Beinir tenglar

Ef þú vilt tengja á þennan titil, vinsamlegast notaðu þessa tengla:

Tengja á þennan titil: Tölvumál
https://timarit.is/publication/239

Tengja á þetta tölublað:

Tengja á þessa síðu:

Tengja á þessa grein:

Vinsamlegast ekki tengja beint á myndir eða PDF skjöl á Tímarit.is þar sem slíkar slóðir geta breyst án fyrirvara. Notið slóðirnar hér fyrir ofan til að tengja á vefinn.