prof. charles antony richard hoare tony hoare. born in colombo (sri lanka) british parents
Post on 18-Dec-2015
215 views
TRANSCRIPT
Prof. Charles Antony Richard Hoare
Tony Hoare
Born in Colombo (Sri Lanka)
British parents
Oxford (England)
University of Oxford:
Hoare studied:• Philosophy • Latin and Greek• Bacherol Degree in
1946• Extra year: Statistics
Moscow (Russia)
Hoare studied:• Russian (in the Royal
Navy) • Statistics• a programming
course
University State of Moscow
- machine translation of languages - probability theory
Back to England (London) in 1960
Elliot Brothers (a small scientific computer manufacturer)
First task: Elliot 803• Implementation of the method for internal sorting
invented by Shell• Hoare believed he had a faster method
Elliot 503 (the companie´s next computer) Goal: Design the language• Course on the language Angol 60 (in Brighton - England ) • First contact with recursive procedures• Wrote the procedure of Quicksort
New direction: Implementation of Algol 60
(Hoare was invited to the group with responsibility for maintenance and development of Algol.)
Back to Elliot Brothers...
• Hoare was leading a team of 15 programmers
( task: Implementation of an operating system to the
Elliot 503 computer)
• Promoted to Chief Engineer
( task: responsible for development and design of the company´s products)
Hoare left the industrywhat was the reason?
- Hoare proposed once that a programming language definition should be formalized as a set of axioms instead of a just a functional notation.
- But he did not see how actually to do it.
Long Term research?
Research at Queen´s University (Belfast)(1968-1977)
- Theory of Programming and Languages
Hoare Logic
Instantiation axiom
{p[t/y]} y:=t {p}
For example:
{y+5=10} y:=y+5 {y=10}
{y+y<z} x:=y {x+y<z}
{2*(y+5)>20} y:=2*(y+5) {y>20}
Composition rule
{p} S1 {r} {r} S2 {q}________________________________________________________________________
{p} S1;S2 {q}
For example: if the antecedents are
1. {x+1 = y+2} x := x+1 {x=y+2}
2. {x = y+2} y := y+2 {x=y}
Then the consequent is
{x+1 = y+2} x := x+1; y := y+2 {x=y}
While rule
{p/\e} S {p}________________________________________________________________________
{p} while e do S od {p/\¬e}
Assertions example
{x>=0 /\ y>=0} a:=0; b:=x;while b>=y do b:=b-y; a:=a+1od.{x=a*y+b/\b>=0/\b<y}
Back to Oxford University (1977)
Continuation of the research leads to:
• CSP (Communicating Sequential Processes)
1980 – Receives Turing Award
For his fundamental contributions to the definition and design of
programming languages
Back to Industry (1999)
Senior researcher with Microsoft Research in Cambridge