Tony Hoare
Tony Hoare Tony Hoare - Emeritus Professor Sir C.A.R. Hoare, FRS. b. 11 Jan 1934 When you see a list in your computer or phone displayed in alphabetical order, it is very likely to have been sorted using Tony Hoare’s algorithm ‘Quicksort’. He invented it in the early 1960s, while he was a graduate student at Moscow State University. In the late 1960s, it became clear that the most difficult, expensive, and unreliable parts of a computer would always be its software. Hoare himself led a large and unsuccessful programming project at that time. Improving methods of software development became his lifelong work. As a professor at Queens’ University, Belfast, and later as the head of the Programming Research Group in Oxford University, he contributed substantially to the ideas that lie behind the design of better programming languages and tools. His knighthood for services to computer science in 2000 is one of many awards for his work. His main areas of research have been: · Concurrency. Some computer programs perform a single sequence of steps in a predictable order. Others – particularly those that run mobile phones, planes, or other kinds of machine – have to pursue many threads of work at the same time. Designing these programs without mistakes is particularly difficult, because it is hard to predict what combinations of actions the program might perform simultaneously, and to work out how they might interfere with each other. In the 1970s and 80s,Tony Hoare and his research colleagues showed how to design programming languages so that concurrent behaviour would be easier to predict. These ideas, which were embodied in the language CSP, became the basis of the concurrent features of programming languages that are used in practice today. · Program specification and proof. Computer programs are the most complex structures that humans create. It is inevitable that any program will contain bugs – the programming mistakes that lead a program to do the wrong thing, or occasionally to crash the computer. Good programmers test their programs, but tests cannot check every conceivable combination of circumstances a program might encounter in its life: there are just too many. For programs that run nuclear power stations, aeroplanes, or car braking systems, testing is not sufficient. Hoare and his research group contributed to the science of formal programming logic, in which mathematical methods are applied to prove that a program will always work. Although these methods are time consuming and still too expensive for everyday programming, they are vital for safety-critical applications. Many of the ideas that were developed in the Programming Research Group have found their way into modern methods of program development such as Programming by Contract.
Our thanks to Alan wills
|
|