为了账号安全,请及时绑定邮箱和手机立即绑定

前 100 本关于编程、计算机和科学的书籍

标签:
C

我最近接受了 Fog Creek 的采访,问到的其中一个问题是关于我喜欢的编程、代码和开发方面的书籍。我对于这个问题感到激动不已,因为我是一个我读过的没有代码的、最好的开发书籍。做为一名重度书呆子,我痴迷于科学、计算机和编程方面的书。每几个月,我就花一两天研究最新的资料并购置最有意思的主题。我可能在我喜欢的书籍上面永远继续下去。我有太多要分享了。

我对这个问题是如此地激动不已,以致于我打算在 catonmat.net 网站上开启一个新的文章系列,是关于我的前 100 本编程、软件开发、科学、物理、数学和计算机方面的书籍。我打算一次分享 5 本,把这项艰巨的任务分解为较小的子任务,是将其搞定的最容易的方法。

下面是我的书架,只是为了证明我的书呆子性格:
图片描述

在本系列的第一篇文章里,我将再次分享我在接受 Fog Creek 采访中推荐过的五本书。如果你对这个话题感兴趣,我希望本系列的文章能够持续一段时间,你可以订阅我的博客 RSS 源、以及关注我的 twitter,以跟进最新动态。

闲言少叙,书归正传!

1 《The New Turing Omnibus》

图片描述

对计算机感兴趣者必读书籍。这本优秀的书包含了 66 篇短文,都是关于最重要的、最有趣的计算话题,比如压缩、图灵机、递归、形式文法【注1】、不可计算函数【注2】、神经网络和算法。本书写作风格比较随意,几乎没有包含数学。它一直是我喜爱的书。

作者:Alexander K. Dewdney

2 《The Little Book of Semaphores》 (pdf 免费)

图片描述

这本书讲授了如何思考多线程的执行,以及如何解决同步问题。我强烈推荐它,如果你是自学、从没学过操作系统课程,这就尤为重要了。这本书会带着读者一步步地了解一系列经典的、以及不那么经典的同步问题。搞定这个问题是非常有趣的,自从我发现它以后,已经推荐给了每一个人。

作者:Allen B. Downey

3 《编程珠玑》和《编程珠玑(续)》

图片描述
图片描述
经典编程书籍。Jon Bentley 深谙如何清晰、富有激情地编写算法方面的书。这两本书是经典,它们教你如何分析问题、分解问题、以及有效地实现解决方案。如果你读过、理解这两本书,你就能通过 Google 的面试。

作者:Jon Bentley

4 《The Little Schemer》

图片描述

《The Little Schemer》以最有趣的方式教你一点儿 LISP 方面的东东。这本书是你和作者就数百个微小的 Scheme 程序展开的对话,它教你递归思考的方式。这本书将促使你思考,并稍稍拓展你的思路。它是曾经编写过的、最有趣的编程书籍之一。

作者:Daniel P. Friedman 和 Matthias Felleisen

5 《风格的要素》和《The Elements of Programming Style》

图片描述
图片描述
确切地讲,《风格的要素》不是一本关于开发或代码的书,而是关于写作的书。为了成为优秀的开发人员,你需要清晰、简洁和直接的交流。深厚的写作技巧对于成功是必需的。这本书只有 100 页,一个晚上就可以看完。每过几个月就重读一次,效果最好。

作者:William Strunk Jr. 和 E. B. White

《The Elements of Programming Style》是 Brian Kernaghan 编写的经典编程书。这本书的形式深受《风格的要素》影响。这本书有点久远,但是它教的所有东东几乎仍然应用在今天。它包含了编程的 70 条规则,比如:

清晰地写——不要过于聪明。
简单、直接地说出你要表达的意思。
选择一种数据表示法,让程序保持简单。
让数据构造程序。
模块化……
作者:Brian W. Kernighan 和 Phillip J. Plauger

另外,我推荐自己写的书《Perl One-Liners》,由 No Starch Press 【注3】出版。我的书教授如何在命令行更快些以及快速地搞定事情。命令行上的娴熟,在你的整个职业生涯里,将节约成千上万个小时的时间。我见过有程序员花两个小时为某个任务写程序,而这个任务用一个单行命令在20秒内就可以搞定。不要做那样的程序员。

图片描述

我希望你能喜欢我推荐的前五本书。请在评论里让我了解你喜欢的书,咱们下次见!


注1:在计算机科学中,形式语言是:某个字母表上,一些有限长字串的集合,而形式文法是描述这个集合的一种方法。形式文法之所以这样命名,是因为它与人类自然语言中的文法相似的缘故。形式文法描述形式语言的基本想法是,从一个特殊的初始符号出发,不断的应用一些产生式规则,从而生成出一个字串的集合。
注2:在可计算性理论中,可计算函数(computable function)或图灵可计算函数是研究的基本对象。它们使我们直觉上的算法概念更加精确。使用可计算函数来讨论可计算性而不提及任何具体的计算模型,如图灵机或寄存器机。但是它们的定义必须提及某种特殊的计算模型。
注3:No Starch Press publishes books on computer security, programming, open source, LEGO, and science topics. Popular titles include Hacking: The Art of Exploitation, Silence on the Wire, Hacking the Xbox, Python For Kids, The Cult of LEGO, and How Wikipedia Works.

原作者(author):https://twitter.com/pkrumins

点击查看更多内容
40人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
页面重构设计
手记
粉丝
472
获赞与收藏
2.3万

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消