John Backus
John Warner Backus (3. prosince 1924 Filadelfie – 17. března 2007 Ashland) byl americký počítačový vědec. Vedl tým, jenž vynalezl první široce používaný vyšší programovací jazyk (Fortran) a byl vynálezcem Backusovy–Naurovy formy (BNF), což je téměř univerzálně používaná notace pro definování syntaxe formálních jazyků. Také zkoumal a pomohl popularizovat tzv. function-level programování.
John Backus | |
---|---|
Narození | 3. prosince 1924 Filadelfie |
Úmrtí | 17. března 2007 (ve věku 82 let) Ashland |
Alma mater | The Hill School (do 1942) Virginská univerzita (1942–1943) Kolumbijská univerzita (1946–1950) |
Pracoviště | Armáda Spojených států amerických (1943–1945) IBM (1950–1991) |
Obory | počítačová věda a informatika |
Známý díky | Speedcoding FORTRAN ALGOL Backusova–Naurova forma Function-level programování |
Ocenění | IBM Fellow (1963) W. Wallace McDowell Award (1967) Národní vyznamenání za vědu (1975) Turingova cena (1977) Harold Pender Award (1983) … více na Wikidatech |
Některá data mohou pocházet z datové položky. |
Institut pro elektrotechnické a elektronické inženýrství (IEEE) udělil Backusovi v roce 1967 cenu W.W. McDowella (W.W. McDowell Award) za vývoj Fortranu. V roce 1975 obdržel Národní medaili za vědu (National Medal of Science) a v roce 1977 Turingovu cenu (ACM Turing Award) „za hluboký, významný, a trvalý přínos pro návrhu účelných vyšších programovacích systémů, zejména pak skrze práci na Fortranu, a za vysoce významnou publikaci formálních procedur pro specifikaci programovacích jazyků“.
Život a kariéra
editovatBackus se narodil ve Filadelfii, stát Pensylvánie, a vyrůstal v nedalekém Wilmingtonu, stát Delaware. Studoval na Hill School v Pottstownu, stát Pensylvánie, a prý nebyl pilný student. Poté, co vstoupil na Virginskou univerzitu, aby studoval chemii, svá studia ukončil, a v roce 1942 byl odveden do Armády Spojených států. Začal studovat medicínu, načež mu byl, během stáže v nemocnici, na mozku diagnostikován nádor, ten byl později úspěšně odstraněn a do hlavy mu byla instalována metalická destička. Po devíti měsících však svá studia medicíny ukončil. V roce 1946 podstoupil druhou operaci hlavy, při níž mu byla stará destička v hlavě nahrazena novou, tuto novou destičku sám navrhl.
Poté, co se přesunul do New Yorku, začal studovat na škole pro radiotechniky, tam později také nalezl zálibu v matematice. V roce 1949 dostudoval Kolumbijskou univerzitu a získal magisterský titul, v roce 1950 získal práci v IBM. Během prvních třech let pracoval na počítači SSEC (Selective Sequence Electronic Calculator), jeho první velký projekt bylo napsání programu pro výpočet pozic Měsíce. V roce 1953 John Backus také vyvinul jazyk Speedcoding, první jazyk vyššího řádu pro počítač IBM.
V roce 1954 sestavil Backus tým vývojářů, jež měl za úkol definovat a vyvinout programovací jazyk pro nový počítač IBM 704, tímto jazykem byl Fortran. Ačkoli se vedou debaty, zdali byl Fortran prvním jazykem vyššího řádu, byl to zcela jistě první takový jazyk, jež dosáhl širokého využití.
Backus však významně přispěl do oblasti prvních počítačů i jinak. Během druhé poloviny 50. let 20. století byl Backus členem mezinárodních komisí, jež vyvinuly ALGOL 58 a velmi významný ALGOL 60, který se velmi rychle stal de facto celosvětovým standardem pro publikování algoritmů. Backus také vyvinul tzv. „Backusovu–Naurovu formu“, což byla formální notace, díky které bylo možné popsat jakýkoli bezkontextový programovací jazyk. Backusova–Naurova forma byla velmi důležitá pro vývoj překladačů. Toto všechno pomohlo Backusovi k získání Turingovy ceny.
Později pracoval na tzv. „function-level“ programovacím jazyce zvaném FP, který byl popsán během jeho přednášky při příležitosti udělení jeho Turingovy ceny, „Může být programování osvobozeno od von Neumannova stylu?“. Fakt, že tento dokument neudělal ani tak mnoho pro zvýšení zájmu o jazyk FP, jako spíš roznícení výzkumu funkcionálního programování, je občas viděno jako Backusova omluva za vytvoření Fortranu. Interpret jazyka FP byl distribuován s operačním systémem 4.2 BSD Unix. Jazyk FP byl silně inspirován jazykem APL Kennetha E. Iversona, dokonce používal nestandardní znakovou sadu. Backus strávil zbytek své kariéry vývojem jazyka FL (odvozeno od „Function Level“), nástupce jazyka FP. FL byl interním výzkumným projektem IBM, jeho vývoj se v podstatě zastavil poté, co byl projekt dokončen (dnes o něm zůstává pouze pár stránek dokumentace). Spousta inovativních myšlenek tohoto jazyka však bylo implementováno do Iversonova programovacího jazyka J.
V roce 1963 byl Backusovi udělen titul IBM Fellow, což je nejvyšší ocenění jaké může vědec, inženýr či programátor v IBM získat. Krom toho mu byl v roce 1989 udělen titul Čestný doktorát Univerzitou Henriho Poincarého ve Francii, a cena Charlese Starka Drapera (Charles Stark Draper Prize), v roce 1993. John W. Backus odešel do důchodu v roce 1991 a 17. března 2007 zemřel ve svém domě ve městě Ashland, stát Oregon.
Ocenění a tituly
editovat- IBM Fellow (1963)
- Cena W.W. McDowella (1967)
- Národní medaile za vědu (1975)
- ACM Turingova cena (1977)
- Doctor honoris causa (1989)
- Draperova cena (1993)
- Cena Muzea historie počítačů (1997)
- Asteroid 6830 Johnbackus byl po jeho smrti pojmenován k jeho poctě (1. června 2007)
Reference
editovatV tomto článku byl použit překlad textu z článku John Backus na anglické Wikipedii.
Externí odkazy
editovat- Obrázky, zvuky či videa k tématu John Backus na Wikimedia Commons
- Biography at School of Mathematics and Statistics University of St Andrews, Scotland
- Biography at The History of Computing Project
- Can Programming Be Liberated From the von Neumann Style? 1977 Turing Award Lecture Archivováno 21. 6. 2007 na Wayback Machine.
- The FL Project: The Design of a Functional Language (1991)
- New York Times obituary for John W. Backus
- IBM Archives
- About BNF
- Hall of Fellows
- Obituary: John Backus (1924–2007):Inventor of science's most widespread programming language, Fortran, Martin Campbell-Kelly, Nature journal, díl 446. číslo 7139, str.998, duben 2007.
- Memorial delivered at the 2007 Conference on Programming Language Design and Implementation