Tony Hoare
Tony Hoare (Kolonbo, 1934ko urtarrilaren 11), Britainia Handiko informatikaria da, 1959-1960 urteetan quicksort izeneko ordenazio-algoritmoa garatu zuena. Sir Charles Antony Richard Hoare edo C. A. R. Hoare izenekin ere ezaguna da. Horretaz gain, programen zuzentasuna egiaztatzeko Hoare logika definitu zuen; prozesu konkurrenteen elkarrekintzak espezifikatzeko Communicating Sequential Processes (CSP) izeneko komunikazio-lengoaia garatu zuen, filosofoen afariaren problema ebazteko erabil daitekeena. Occam programazio-lengoaiaren inspiratzaile ere izan zen.[1]
Formazioa eta gaztaroa
[aldatu | aldatu iturburu kodea]Ceilango Kolonbo herrian jaioa da (gaur egun Sri Lanka) guraso britainiarrekin. Hoare Ingalaterran hezi zen Oxford-eko Dragon School-en eta Canterburyko King 's School-en. Ondoren, Oxfordeko Unibertsitatean Kultura Klasikoa eta Filosofia Gradua lortu zuen. 1956an graduatu zenean, 18 hilabete egin zituen Royal Navy-n Zerbitzu Nazionalean, non errusiera ikasi zuen. Oxfordeko Unibertsitatera itzuli zen 1958an, estatistikako graduondoko baten ziurtagiria lortzeko, eta han hasi zen ordenagailuen programazioarekin. Ondoren, Moskuko Estatu Unibertsitatera joan zen British Councileko truke-ikasle bezala, non itzulpen automatikoa ikasi zuen Andrey Kolmogorovekin.
Ikerketak eta Karrera
[aldatu | aldatu iturburu kodea]1960an, Sobietar Batasuna utzi zuen eta Elliott Brothers Ltd enpresan hasi zen lanean. Bertan, ALGOL 60 lengoaia inplementatu zuen eta algoritmo nagusiak garatzen hasi zen. Informazioa Prozesatzeko Nazioarteko Federazioko (IFIP) 2.1 lan-taldeko kide izan zen, eta ALGOL 60 eta ALGOL 68 hizkuntzak babestu eta mantentzen ditu.
1968an Konputazio Zientzietako irakasle bihurtu zen Belfasteko Queen 's Unibertsitatean, eta 1977an Oxfordera itzuli zen konputazio irakasle gisa Programazio Talde Ikerketa zuzentzeko Oxfordeko Unibertsitatean Konputazio Laborategiko Programazioan (orain Informatika Saila, Oxfordeko Unibertsitatean), Christopher Strachey hil ondoren. Geroago irakasle emeritua izendatu zuten, eta Microsoft Researchen ikertzaile nagusia ere bada, Cambridgen (Ingalaterra).
Hoare-ren ekarpenik esanguratsuenak honako arlo hauetan egin dira:
- Hainbat zenbaki edo elementu ordenatzeko eta hautatzeko bere algoritmoak (Quicksort eta Quickselect).[2]
- Hoare-ren logika. 1969an, Floyd-en ideiak berreskuratuz, axioma eta inferentzia-erregelez osatutako sistema formala eratu zuen. Sistema horrek programen zuzentasun formala frogatzeko balio du eta asertzio diren inbarianteen metodoaren euskarria da. Geroztik programen zuzentasuna formalki frogatzeko zenbait metodo azaldu da, hala nola, "aldizkako asertzioena" edo semantika denotazionalean oinarritutakoa. Baina guztietan erabiliena Hoare-ren kalkulua izan da ezbairik gabe.[3][4]
- Communicating sequential processes (CSP, prozesu sekuentzialen arteko komunikazioa) prozesu konkurrenteen arteko elkarreraginak zehazteko erabiltzen dena,
- Konputagailuko sistema eragileak egituratuz monitore kontzeptua eta programazio-lengoaien espezifikazio axiomatikoa erabiliz.
Programa baten zuzentasuna frogatzen. Adibidea
[aldatu | aldatu iturburu kodea]Hoare-ren logika oinarria da programa informatikoen espezifikazio, egiaztapen eta eratorpen formala bderatzeko. Hona hemen adibide xume bat, non egiaztatzen den if motako baldintzazko egitura batekin bi zenbakiren arteko kenduraren balio absolutua ondo kalkulatzen dela.[4]
Froga ezazu ondoko programak z aldagaian
x eta y-ren arteko kenduraren balio absolutua uzten duela:
--true
if x ≥ y then
z:=x-y;
else
z:=y-x;
end if;
--z = |x-y|
1.- (x ≥ y) → (x-y ≥ 0 ∧ x-y=x-y)
2.- {x-y ≥ 0 ∧ x-y=x-y} z:=x-y {x-y ≥ 0 ∧ z=x-y} (AA)
3.- (x-y ≥ 0 ∧ z=x-y) → (z = |x-y| )
4.- {x ≥ y} z:=x-y {z = |x-y|} 1, 2, 3, (ODE)
5.- ¬(x ≥ y) → (y-x = y-x ∧ ¬(x ≥ y))
6.-{(y-x = y-x ∧ ¬(x ≥ y)} z:=y-x {z = y-x ∧ ¬(x ≥ y)} (AA)
7.- (z = y-x ∧ ¬(x ≥ y)) → (z = |x-y|)
8.- {¬ x ≥ y} z:=y-x {z = |x-y|} 5, 6, 7, (ODE)
9.- {true} if x ≥ y then z:=x-y else z:=y-x {z = |x-y|}
4, 8, (BDE)
Barkamenak eta atzera-egiteak
[aldatu | aldatu iturburu kodea]2009an egindako hitzaldi batean, Hoarek barkamena eskatu zuen erreferentzia nulua asmatu zuelako:[5]
Mila milioi dolarreko akatsa deitzen diot. Erreferentzia nuluaren asmakuntza izan zen hura 1965ean. Une hartan, erreferentziak egiteko lehen sistema integrala diseinatzen ari nintzen, objektuetara bideratutako lengoaia batean (ALGOL W). Nire helburua erreferentzien erabilera oro erabat segurua izatea zen, konpiladoreak automatikoki egindako egiaztapenekin. Baina ezin izan nion eutsi erreferentzia nulua ere jartzeko tentazioari, hain zen erraza inplementatzeko. Horren ondorioz, makina bat akats, ahultasun eta sistema-akats gertatu dira geroago, eta horrek mila miloi dolarreko mina eta kalteak eragin ditu azken berrogei urteetan.
Urte askoan, Oxfordeko bere departamenduak, bere zuzendaritzapean, espezifikazio formaleko lengoaietan lan egin zuen, CSP eta Zren moduko lengaietan. Sistema horiek ez zuten jaso espero zen moduko harrera industrian, eta 1995ean Hoarek jatorrizko hipotesiei buruz hausnartu behar izan zuen:
Duela hamar urte, metodo formaletako ikertzaileek (eta haien artean nahasietan nahasiena nintzen) iragarri zuten programazioaren munduak eskertuta hartuko zituela programak handiagoak bihurtzen direnean eta haien segurtasuna kritikoagoa denean sortzen diren fidagarritasun-arazoak konpontzeko formalizazioak agindutako laguntza guztiak. Orain, programak oso handiak eta kritikoak izatera iritsi dira - Metodo formalek eroso landu dezaketen eskalatik haratago. Arazo eta porrot asko egon ziren, baina ia beti baldintzen azterketa desegokiari edo kudeaketa-kontrol desegokiari egotzi ahal izan zaizkie. Egiaztatu da ezetz, munduak ez dituela modu esanguratsuan jasaten gure ikerketak jatorrian konpondu nahi zituen arazoak.
Liburuak
[aldatu | aldatu iturburu kodea]- Dahl, O.-J.; Dijkstra, E. W.; Hoare, C. A. R. (1972). Structured Programming. ISBN 978-0-12-200550-3. OCLC .23937947.
- C. A. R. Hoare (1985). Communicating Sequential Processes. Prentice Hall International Series in Computer Science. ISBN 978-0131532717 (hardback) or ISBN 978-0131532892 (paperback). (Available online at http://www.usingcsp.com/ in PDF format.)
- Hoare, C. A. R.; Gordon, M. J. C. (1992). Mechanised Reasoning and Hardware Design. Prentice Hall International Series in Computer Science. ISBN 978-0-13-572405-7. OCLC .25712842.
- Hoare, C. A. R.; Jifeng, He (1998). Unifying Theories of Programming. Prentice Hall International Series in Computer Science. ISBN 978-0-13-458761-5. OCLC .38199961.
Bizitza pertsonala
[aldatu | aldatu iturburu kodea]1962an, Hoare Jill Pym-ekin ezkondu zen, bere ikerketa taldeko kide batekin.
Sariak eta ohoreak
[aldatu | aldatu iturburu kodea]- Ohorezko kidea British Computer Society elkartean (1978)
- Irnformatikan gorengo elkartea den ACMren Turing saria "programazio-lengoaiak definitu ahal izateko ekarpen esanguratsuak egiteagatik". Saria Nashvillen eman zioten (Tennessee) 1980ko urriaren 27an egin zuen ACMren Urteko Konferentzian. Hoareren diskurtsoaren transkripzio bat argitaratu zen Communications of the ACM aldizkarian.[6]
- Harry H. Goode Memorial Award (1981)
- Fellow of the Royal Society (1982)[7]
- Zientzietako ohorezko doktorea (Doktore Honoris Causa) Belfasteko Queen's unibertsitatean (1987)
- Zientzietako ohorezko doktorea Bath Unibertsitatean (1993)[8]
- Ohorezko kidea, Oxford-eko Kellogg College (1998)[9]
- Zaldun izendapena (Knight Bachelor), hezkuntzan eta informatikan egiten dituen zerbitzuengatik. (2000)
- Kyoto Prize Informazio zientzietan (2000)
- Royal Academy of Engineering akademiako kidea (2005)[10]
- Computer History Museum (CHM) Mountain View, California museoko kidea izendatu zuten "Quicksort algoritmoa garatzeagatik eta programazio-lengoaien teorian bizitza osoan egindako ekarpenengatik" (2006)[11]
- Ohorezko doktorea (doktore Honoris Causa) Heriot-Watt Univertsitatean (2007)[12]
- Zientzietako ohorezko doktoregoa (Doktore Honoris Causa) Atenasko Ekonomia eta Negozio Unibertsitateko Informatikako Departamenduan (AUEB) (2007)
- Friedrich L. Bauer-Prize, Municheko Teknologia Unibertsitatea (2007)[13]
- SIGPLAN Programming Languages Achievement Award (2011)[14]
- IEEE elkarteko John Von Neumann Domina (IEEE John von Neumann Medal) (2011)[15]
- Ohorezko doktorea, Varsoviako Unibertsitatean (2012)[16]
- Ohorezko doktorea, Madrilgo Complutense Unibertsitatean (2013)[17]
Erreferentziak
[aldatu | aldatu iturburu kodea]- ↑ (Ingelesez) «Tony Hoare - Home» dl.acm.org (Noiz kontsultatua: 2020-04-30).
- ↑ Arruabarrena, Rosa. (1997). Algoritmika. UEU.
- ↑ Javier Alvez Gimenez, Xabier Arregi Iparragirre, Jose Gaintzarain Ibarmia, Paqui Lucio Carrasco, Montse Maritxalar Anglada. (2016). Programen espezifikazio, egiaztapen eta eratorpen formala. Udako Euskal Unibertsitatea ISBN 978-84-8438-590-5. PMC 974392192. (Noiz kontsultatua: 2020-06-04).
- ↑ a b c Iparragirre, Xabier Arregi; Sanchez, Arantza Diaz de Ilarraza; Carrasco, Paqui Lucio. (1993). Programen egiaztapena eta eratorpena. UEU arg ISBN 978-84-86967-50-5. (Noiz kontsultatua: 2020-06-04).
- ↑ (Ingelesez) «Null References: The Billion Dollar Mistake» InfoQ (Noiz kontsultatua: 2020-06-04).
- ↑ Hoare, Charles Antony Richard. «The emperor's old clothes» ACM Turing Award Lectures (Association of Computing Machinery): 1980. ISBN 978-1-4503-1049-9. (Noiz kontsultatua: 2020-04-30).
- ↑ Thrower, N. J. W.. (2003-01-22). «Samuel Pepys FRS (1633-1703) and The Royal Society» Notes and Records of the Royal Society of London 57 (1): 3–13. doi: . ISSN 1743-0178. (Noiz kontsultatua: 2020-04-30).
- ↑ Darby, Antony; Natarajan, Sukumar; Coley, David; Maskell, Dan; Walker, Ian; Brownjohn, James. (2019). Impact of sustainable building design on occupant experience: A human centred approach. Coventry University and The University of Wisconsin Milwaukee Centre for By-products Utilization doi: . ISBN 978-1-0783-1443-5. (Noiz kontsultatua: 2020-04-30).
- ↑ Hoare, Sir (Charles) Antony (Richard), (Tony), (born 11 Jan. 1934), Principal Researcher, Microsoft Research Ltd, Cambridge, 1999–2015; Honorary Member, Cambridge University Computing Laboratory, since 2007. Oxford University Press 2007-12-01 (Noiz kontsultatua: 2020-05-02).
- ↑ «LIST OF PLATES» Euthymides and His Fellows (Harvard University Press) ISBN 978-0-674-33727-5. (Noiz kontsultatua: 2020-05-02).
- ↑ Krishfield, Richard; Honjoa, Susumu; Takizawa, Takatoshi; Hatakeyama, Kiyoshi. (1999). Ice-ocean environmental buoy program : archived data processing and graphical results from April 1992 through November 1998. Woods Hole Oceanographic Institution (Noiz kontsultatua: 2020-05-02).
- ↑ Burke, Richard, (29 March 1932–15 March 2016), President, Canon Foundation in Europe, 1988–98. Oxford University Press 2007-12-01 (Noiz kontsultatua: 2020-05-02).
- ↑ Jessen, Eike; Bauer, Friedrich L.. (2015-04). «Nachruf auf Eike Jessen und Friedrich L Bauer» IT-Szene München 10 (2): 9–9. doi: . ISSN 1863-1983. (Noiz kontsultatua: 2020-05-02).
- ↑ Hoare, Tony. (2012). «Message of thanks» Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '12 (ACM Press) doi: . ISBN 978-1-4503-1083-3. (Noiz kontsultatua: 2020-05-02).
- ↑ «CAS centennial medal recipients» IEEE Circuits & Systems Magazine 6 (3): 16–16. 1984-09 doi: . ISSN 0163-6812. (Noiz kontsultatua: 2020-05-02).
- ↑ Danecka, Daria; Olejarczyk, Ewa. (2014-10-16). «Profesor Wojciech Radecki Doktorem Honoris Causa Uniwersytetu Śląskiego» Przegląd Prawa Ochrony Środowiska (3) doi: . ISSN 2080-9506. (Noiz kontsultatua: 2020-05-02).
- ↑ Discursos de los Doctores Honoris Causa en la Universidad de Piura. Universidad de Piura 2019-08-30 (Noiz kontsultatua: 2020-05-02).
Kanpo estekak
[aldatu | aldatu iturburu kodea]- Tony Hoare. Webgune ofizial pertsonala Oxfordeko Unibertsitatean