托尼·霍尔博士 Tony Hoare or C.A.R. Hoare, born 11 January 1934
 Tony Hoare's interest in computing was awakened in the early fifties, when he studied philosophy (together with Latin and Greek) at Oxford University, under the tutelage of John Lucas. He was fascinated by the power of mathematical logic as an explanation of the apparent certainty of mathematical truth.  During his National Service (1956-1958), he studied Russian in the Royal Navy. Then he took a qualification in statistics (and incidentally) a course in programming given by Leslie Fox). In 1959, as a graduate student at Moscow State University, he studied the machine translation of languages (together with probability theory, in the school of Kolmogorov).  To assist in efficient look-up of words in a dictionary, he discovered the well-known sorting algorithm Quicksort.

On return to England in 1960, he worked as a programmer for Elliott Brothers, a small scientific computer manufacturer. He led a team (including his later wife Jill) in the design and delivery of the first commercial compiler for the programming language Algol 60. He attributes the success of the project to the use of Algol itself as the design language for the compiler, although the implementation used decimal machine code. Promoted to the rank of Chief Engineer, he then led a larger team on a disastrous project to implement an operating system. After managing a recovery from the failure, he moved as Chief Scientist to the computing research division, where he worked on the hardware and software architecture for future machines.

These machines were cancelled when the Company merged with its rivals, and in 1968 Tony took a chance to apply for the Professorship of Computing Science at the Queen's University, Belfast. His research goal was to understand why operating systems were so much more difficult than compilers, and to see if advances in programming theory and languages could help with the problems of concurrency. In spite of civil disturbances, he built up a strong teaching and research department, and published a series of papers on the use of assertions to prove correctness of computer programs. He knew that this was long term research, unlikely to achieve industrial application within the span of his academic career.

In 1977 he moved to Oxford University, and undertook to build up the Programming Research Group, founded by Christopher Strachey. With the aid of external funding from government initiatives, industrial collaborations, and charitable donations, Oxford now teaches a range of degree courses in Computer Science, including an external Master's degree for software engineers from industry. The research of his teams at Oxford pursued an ideal that takes provable correctness as the driving force for the accurate specification, design and development of computing systems, both critical and non-critical. Well-known results of the research include the Z specification language, and the CSP concurrent programming model. A recent personal research goal has been the unification of of a diverse range of theories applying to different programming languages, paradigms, and implementation technologies.
Throughout more than thirty years as an academic, Tony has maintained strong contacts with industry, through consultancy, teaching, and collaborative research projects. He took a particular interest in the sustenance of legacy code, where assertions are now playing a vital role, not for his original purpose of program proof, but rather in instrumentation of code for testing purposes. On reaching retirement age at Oxford, he welcomed an opportunity to go back to industry as a senior researcher with Microsoft Research in Cambridge. He hopes to expand the opportunities for industrial application of good academic research, and to encourage academic researchers to continue the pursuit of deep and interesting questions in areas of long-term interest to the software industry and its customers.

C.A.R. Hoare相关推荐

  1. java 快排_八大排序-快速排序(搞定面试之手写快排)

    概要 快速排序由C. A. R. Hoare在1960年提出,是八大排序算法中最常用的经典排序算法之一.其广泛应用的主要原因是高效,核心算法思想是分而治之.快速排序经常会被作为面试题进行考察,通常的考 ...

  2. 排序学习之---快速排序

    一.前言 快速排序是一种交换排序,它由C. A. R. Hoare在1962年提出. 二.算法思想 快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都 ...

  3. 那些年,让我面试头大的几个排序算法,今天终于搞懂了!

    作者 | 逆流的鱼yuiop 转载自何俊林(ID:smartyuge) 算法上,最基础的就是排序算法,几乎在面试中,或多或少会要求你手写一些基础算法.今天鱼哥带大家这些基础算法回顾下. 快速排序 介绍 ...

  4. 面试时写不出排序算法?看这篇就够了

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 作者:静默虚空 juejin.im/post/5cb6b8f551882532c334bcf2 ...

  5. python实现迭代的快速排序(Iterative Quick Sort)

    python实现迭代的快速排序(Iterative Quick Sort) 快速排序(Quicksort)是对冒泡排序算法的一种改进. 快速排序由C. A. R. Hoare在1960年提出.它的基本 ...

  6. python实现快排算法(quicksort)

    python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...

  7. 【连载】优秀程序员的 45 个习惯之习惯25

    代码要清晰地表达意图 -- 高效程序员的 45 个习惯之 习惯25 "可以工作而且易于理解的代码挺好,但是让人觉得聪明更加重要.别人给你钱是因为你脑子好使,让我们看看你到底有多聪明.&quo ...

  8. C语言常用排序方法大全

    C语言常用排序方法大全 /* ============================================================================= 相关知识介绍( ...

  9. java 集合快速排序_搞定Java快速排序

    全文字数: 921 阅读时间: 3 分钟 1.简介? 快速排序(Quicksort),简称快排,是对冒泡排序的一种改进. 快速排序由C. A. R. Hoare在1960年提出.它的基本思想分治法:即 ...

最新文章

  1. java什么叫实例化_在JAVA中实例化的确切含义是什么
  2. asp.net中读取带有加号(+)的Cookie,会自动把加号替换为空格
  3. 领域模型中分散的事务如何集中统一处理(C#解决方案)
  4. 新款苹果电脑_苹果发布新款MacBookAir 搭载M1芯片7999起
  5. 深度优先遍历算法-03二叉树路径遍历问题
  6. 实现 VC 最小化到 托盘
  7. Envoy实现.NET架构的网关(五)集成Redis实现限流
  8. JAVA面试题-小白
  9. 限制使用su命令的用户与使用sudo机制提升权限
  10. C++之指针探究(十):this指针
  11. RELEASE版本的RegisterClass()失败
  12. 怎么设置php 中图片的大小写,php中强制字母转换大小写的方法有哪些
  13. 做meta分析:使用R软件绘制森林图
  14. hive中操作hdfs命令
  15. java根据http url下载图片
  16. CS和BS 到底是什么
  17. 动态二维码签到系统~第一节(Python动态二维码生成)
  18. java 句柄无效_Java开发网 - java.io.IOException: 句柄无效???
  19. 关于图灵JAVA一百道面试题总结
  20. USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps...

热门文章

  1. 利用numpy读取mnist数据集
  2. 二叉树-递归计算某节点的层数/深度
  3. 面向 KubeEdge 边缘计算系统应用研究
  4. 中缀表达式To前缀表达式 (python实现)
  5. 学习ROS(一):建工作空间
  6. 论如何做好一个大型数据项目:软实力和硬实力
  7. 【linux | 打包压缩命令】
  8. Vue在build编译时写在style中的路径问题
  9. Xilisoft Video Editor(视频编辑软件)v2.2永久版
  10. js实现放大缩小页面