计算机科学经典论文

时间:2022-10-30 06:49:38

从Jao的 Programming Musing 看到的:Babar Kazar 整理了一堆经典论文Jao强烈建议每个严肃的程序员读每篇论文,说它们都或多或少有意思。

· An axiomatic basis for computer programming 公理化语义(Axiomatic Semantics)。论文不长,双列6页。前辈们就是这样的,6页纸就能开宗立派。想知道怎么证明程序正确,前置条件,不变条件,后置条件的妙用,可以用这篇论文开牙。

· Communicating Sequential Processes (CSP) C. A. R. HoareHoare,。链接的文档应该不算论文,而算专著。260页。这本书的引用率在CS历史上排名第三,可见其影响之深。对并发编程有强烈兴趣的老大可以去钻研一把。我没读过。

· Call-by-name, call-by-value, and the lambda calculus Gordon Plotkin 没读过。这篇论文的要点之一是要想顺利地对程序进行推导,就需要有合适的lambda理论。想深入理解call-by-name,call-by-value,和lambda算子的可以上了。

· Structured Programming with go to Statements Donald E. Knuth 这篇论文详细结构化编程时讨论了什么时候用goto,什么时候不用goto。高老太爷用了一辈子goto,岂能轻易被Dijkstra对goto的批评吓退?


A Mathematical Theory of Communication Claude Shannon 。Bell实验室当年辉煌一时。香农这篇论文问世,现代信息理论就诞生!

· Bayesian Networks without Tears 贝叶斯理论热了好几年了。估计还会继续热下去。现在信息越来越多,我们已经审美疲劳。大家渴望的不是信息,而是知识。靠个人的力量把信息提炼成知识太慢,我们需要机器的帮忙。机器学习不热都难,而贝叶斯理论在机器学习里有很好的应用。这篇文章行为浅显,可以轻松读完。

· A Relational Model of Data for Large Shared Data Banks 1970 Edgar F. Codd。没有关系代数,人类将会怎样?Codd划时代的论文奠定了现代数据库的基础。其实我也没有读过这篇论文。

· Let's Build a Compiler 1988-1995教你一步一步写出一坨编译器。一篇相当不错的指南。

· Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I) 1960 John McCarthy47年前提出LISP的那篇著名论文。没读过。动态类型检查,Garbage Collection, 递归函数,S-expression, 程序及数据。。。可谓贡献辉煌。

· Teach Yourself Programming in Ten Years 2001 Peter Norvig大牛之所以为大牛,原因之一就是目光深远。这篇文章批评那些《24秒学会C++》之类教材的无稽,讨论了学习编程,从菜鸟变成鲲鹏的方法。中文版已经传得满世界都是,赶快找来看吧。

 · Steps Toward Artificial Intelligence Marvin Minsky 。AI的奠基论文。