在数字计算机出现之前,阿兰?图灵就预想了它们的功能和通用性……也证明了哪些事是计算机永远做不了的。
由Windows编程大师Charles Petzold耗时多年编写的这本书剖析了现代计算机原理开山之作、阿兰?图灵流芳百世的论文"On Computable Numbers, with an Application to theEntscheidungsproblem"。图灵在其中描述了一种假想的计算机器,探索了其功能和内在的局限性,由此建立了现代程序设计和可计算性的基础。这本书也像是一本小说,行文间穿插讲述了图灵的成长经历和教育背景,以及他跌宕起伏的一生,包括破解德国恩尼格密码的传奇经历,他对人工智能的探索,他的性取向,以及最终因同性恋的罪名而在41岁时自杀的悲惨结局。全书完整揭示了阿兰?图灵非凡、传奇而悲剧的一生,是了解图灵的思想和生平的极好著作。
阿兰·图灵(1912—1954)是英国数学家、逻辑学家,被称为计算机科学之父、人工智能之父,是计算机逻辑的奠基者,提出了"图灵机"和"图灵测试"等重要概念。为纪念他在计算机领域的贡献,美国计算机协会于1966年设立图灵奖,此奖项被誉为计算机科学界的诺贝尔奖。
Charles Petzold
Windows编程大师、世界技术作家、微软博学MVP,拥有25年的Windows编程经验。1994年5月,Petzold作为的作家,获得由微软公司和WindowMagazine授予的Windows 先锋奖(仅7人获奖),直到今天,他依然是Windows GDI程序设计首席技术作家。他出版过十几本著作,其中包括Win32 API编程经典《Windows程序设计》、《编码》等。
历届图灵奖得主名单
◎ 1966 A. J. Perlis
高级编程技术和编译器架构
◎ 1967 Maurice V. Wilkes
设计出及时台具有内置存储程序的计算机EDSAC
◎ 1968 Richard W. Hamming
数值方法、自动编码系统、错误检测及错误校验码
◎ 1969 Marvin Minsky
创造、推进和提升人工智能
◎ 1970 J. H. Wilkinson
利用数值分析方法来促进高速数字计算机的应用
◎ 1971 John McCarthy
人工智能
◎ 1972 Edsger W. Dijkstra
编程语言
◎ 1973 Charles W. Bachman
数据库
◎ 1974 Donald E. Knuth
算法分析和程序设计语言,"计算机程序设计艺术"丛书
◎ 1975 Allen Newell和Herbert A. Simon
人工智能、人类认知心理学和表处理
◎ 1976 Michael O. Rabin和Dana S. Scott
非确定性机器
◎ 1977 John Backus
可用的高级编程系统设计
◎ 1978 Robert W. Floyd
软件编程的算法,语法分析理论、编程语言的语义和算法分析等多项计算机子学科的创立
◎ 1979 Kenneth E. Iverson
程序设计语言理论、交互系统及APL
◎ 1980 C. Antony R. Hoare
编程语言的定义和设计
◎ 1981 Edgar F. Codd
数据库管理系统的理论和实践
◎ 1982 Stephen A. Cook
奠定了NP性理论的基础
◎ 1983 Dennis M. Ritchie和Kenneth L. Thompson
一般操作系统理论,对UNIX操作系统的推广
◎ 1984 Niklaus E.Wirth
开发了EULER、ALGOL-W、MODULA和PASCAL等一系列崭新的计算机语言
◎ 1985 Richard M. Karp
算法理论
◎ 1986 John E. Hopcroft和Robert E. Tarjan
在算法及数据结构的设计和分析中取得了决定性成果
◎ 1987 John Cocke
编译器的理论和设计,大系统体系结构,精简指令集计算机的开发
◎ 1988 Ivan E. Sutherland
计算机图形学
◎ 1989 William V. Kahan
数值分析
◎ 1990 Fernando J. Corbato
组织通用、大规模、分时和资源共享的兼容分时系统和Multics的开发
◎ 1991 Robin W.Milner
可计算函数逻辑(LCF)、ML和并行理论(CCS)
◎ 1992 Butler Lampson
分布式个人计算机系统
◎ 1993 Jurlis Hartmanis和Richard E. Stearns
奠定了计算复杂性理论的基础
◎ 1994 Raj Reddy和Edward Feigenbaum
对大型人工智能系统的开拓性研究
◎ 1995 Manuel Blum
奠定了计算复杂性理论的基础,密码术及程序校验
◎ 1996 Amir Pnueli
在计算中引入时序逻辑、程序及系统检验
◎ 1997 Douglas Engelbart
提出交互计算概念并创造出实现这一概念的重要技术
◎ 1998 James Gray
数据库和事务处理
◎ 1999 Frederick P. Brooks, Jr.
计算机体系结构、操作系统、软件工程
◎ 2000 姚期智(Andrew Chi-Chih Yao)
计算理论方面的基础性工作
◎ 2001 Ole-Johan Dahl和Kristen Nygaard
面向对象程序设计思想
◎ 2002 Ronald L. Rivest、Adi Shamir和Leonard M.Adelman
公共密钥算法(RSA)
◎ 2003 Alan Kay
发明及时个面向对象的动态计算机程序设计语言Smalltalk
◎ 2004 Vinton G. Cerf和Robert E. Kahn
在互联网方面的开创性工作
◎ 2005 Peter Naur
Algol 60语言
◎ 2006 Frances E. Allen
编译器优化理论和实践(她是图灵奖及时位女性得主)
◎ 2007 Edmund M. Clarke、Allen Emerson和JosephSifakis
将模型校验推广成软硬件工业中广泛采用的高效校验技术
◎ 2008 Barbara Liskov
编程语言和系统设计的实践与理论基础
◎ 2009 Charles P. Thacker
及时台现代个人计算机Alto之父
◎ 2010 Leslie L.Valiant
人工智能、自然语言处理和手写识别等大量革新技术
◎ 2011 Judea Pearl
通过或然性积分和推理对人工智能做出贡献
及时部分基础
第1章这个墓穴埋葬着丢番图
第2章无理数和超越数
第3章几个世纪以来的发展
第二部分可计算数
第4章图灵的学业
第5章运作的机器
第6章加与乘
第7章子程序
第8章万物皆数字
第9章通用机
第10章计算机与可计算性
第11章机器与人
第三部分判定性问题
第12章逻辑与可计算性
第13章可计算函数
第14章主要证明
第15章λ演算
第16章对连续统的设想
第四部分题外话
第17章万物皆是图灵机?
第18章长眠的丢番图
参考文献