2018年程序员必读的10本书

1. 《代码大全》 史蒂夫·迈克康奈尔

“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky

对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac

2. 《程序员修炼之道》

对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。或许他们还是在校生,但对要自己做什么,还感觉不是很安全。就像草图和架构之间的差别。虽然你在学校课堂上学到的是画图,你也可以画的很漂亮,但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合你了。—— Joel

3. 《计算机程序的构造和解释》

就个人而言,这本书目前为止对我影响醉倒的一本编程书。

《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。其他书籍则处理算法。这些书都有自己所属的位置。

然而《计算机程序的构造和解释》与这些不同。这是一本会启发你的书,它会燃起你编写出色程序的热情;它还将教会你认识并欣赏美;它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。

同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解释器和编译器。

一些人认为此书不适合新手。个人认为,虽然我并不完全认同要有一些编程经验才能读此书,但我还是一定推荐给初学者。毕竟这本书是写给著名的6.001,是麻省理工学院的入门编程课程。此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价是对得起这本书的。

你还不确信么?那就读读第一版的前言或序言。网上有免费的电子版。 – Antti Sykäri

4. 《C程序设计语言》

这本书简洁易读,会教给你三件事:C 编程语言;如何像程序员一样思考;底层计算模型。(这对理解“底层”非常重要)—— Nathan

5. 《算法导论》

《代码大全》教你如何正确编程;《人月神话》教你如何正确管理;《设计模式》教你如何正确设计……在我看来,代码只是一个工具,并非精髓。开发软件的主要部分是创建新算法或重新实现现有算法。其他部分则像重新组装乐高砖块或创建“管理”层。我依然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron

6. 《重构:改善既有代码的设计》

我想我不得不推荐《重构》:改进现有代码的设计。—— Martin 

我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler

7. 《设计模式》

就我而言,我认为四人帮编著的《设计模式》是一本极为有用的书。虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术,因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young

8. 《人月神话》

9. 《计算机程序设计艺术》

这是高德纳倾注心血写的一本书。—— Peter Coulton

10. 《编译原理(中文版) | 英文版》(龙书)

我很奇怪,居然没人提到龙书。(或许已有推荐,我没有看到)。我从没忘过此书的第一版封面。此书让我知道了编译器是多么地神奇绝妙。- DB

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏养码场

模仿黑产破解12306验证码,验证码产品的未来是?

导读:12306验证码,长时间高居反人类产品排行榜第一名(据某网站调查),普通人一次通过率仅8%,人也识别不清的图片就能成功阻挡自动机了吗?谷歌街景验证码完全取...

521
来自专栏Python中文社区

Python自然语言处理资料库

LTP [1]- 语言技术平台(LTP) 提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、 高效、精准的自然语言处理技术。经过哈工大...

2459
来自专栏PPV课数据科学社区

以网络安全为例的大数据可视化设计

大数据可视化是个热门话题,在信息安全领域,也由于很多企业希望将大数据转化为信息可视化呈现的各种形式,以便获得更深的洞察力、更好的决策力以及更强的自动化处理能力,...

4227
来自专栏数据小魔方

R语言可视化——图表美化与套用主题(下)

昨天的分享跟大家简单介绍了关于柱形图图表元素美化的思路,今天接着分享关于套用主题。 因为单独使用代码来调整单个图表元素,实在是太费劲了,更何况图表的细节元素有那...

2616
来自专栏机器之心

学界 | 通过流量识别加密视频内容:以色列学者提出神经网络攻击模型

选自GitHub 作者:Roei Schuster等 机器之心编译 参与:李泽南、Smith、吴攀 深度学习在数据特征识别上的能力强大,目前已成为计算机视觉、图...

2916
来自专栏腾讯技术工程官方号的专栏

模仿黑产破解12306验证码,验证码产品的未来是?

4074
来自专栏AI研习社

能理解聊天记录的微信机器人 (三)

聊天机器人部署了一周了。花了几个小时的时间做了一些改动,有意思的部分主要有: 和 ElasticSearch 和 Kibana 连了起来,现在有了实时监控和可视...

2858
来自专栏企鹅号快讯

WEKA的使用指南

“借着年终总结,回顾个好用的数据挖掘工具。” WEKA是一个貌似比较小众的数据挖掘工具,在应用的普遍性上远远不如R、Python等软件。我在机缘巧合之下,从一门...

2266
来自专栏北京马哥教育

Python自然语言处理分析倚天屠龙记

? 转载自:Python中文社区 ID:python-china 最近在了解到,在机器学习中,自然语言处理是较大的一个分支。存在许多挑战。例如: 如何...

3326
来自专栏FreeBuf

如何科学合理薅FreeBuf活动“羊毛”

过年前网站推出一个叫“网藤杯智能安全机器人养成计划”的活动,刚开始以为是一个养蛙类型的活动,研究过后发现,这是一个上传数据拿奖品的活动,看着礼品还挺诱人的,作为...

3395

扫码关注云+社区