12月 032015
 

这里写下一些我觉得比较经典的书籍,纯属个人建议,事先声明:其中有不少书我没看过,或是看的不细,但大概知道书里讲啥东西,也会在下面列出。

更新记录

本文是2014年甚至是更早的时候写的,肯定有些陈旧,不过还是有些价值的,现在简单更新、置顶一下,后续会进行更新。

  • 2017.2.28 初始版本
  • 2017.10.29 更新读书记录。

目前正在看或是打算看的书:

  • 《智能时代》 吴军博士 刚买,还没来得及翻
  • 《高可用架构》 10月才出的书,书明天到货,然后可以拜读了,看作者,一堆熟悉的业界大佬,质量应该有保证 🙂
  • 《图解HTTP》 看着比较轻松,补齐一些基础知识
  • 《深入分析Java Web技术内幕》 许令波著。阿里技术书系列。在看,可以用来补全一些有关java web的知识。JVM、编码、session与cookie、spring框架分析等,内容比较全,正看,暂时不做评价。

2017年已读完的书籍:

  • 《沃顿商学院最受欢迎的谈判课》 感觉对工作、生活都很有帮助,其实归根结底,说的都是一个词:同理心。想让别人按照你的意志去做某些事,就要先设身处地的从别人角度想问题。
  • 《分布式服务框架原理与实践》 李雪锋著。主要讲解了一个分布式服务框架在设计、实现中需要考虑的一些问题、设计思路、实践中可能遇到的问题。看着有点意思,回头单独写写读书笔记。

PS :顺便给出我读过的书以及想读的书的豆瓣链接(豆瓣上我自己的记录,不过并不全,没有仔细统计过自己读过哪些书,是该统计一下啊,好歹我读过的书也不少了,对这个俺还是有自信的,哇咔咔~~)

 
给出一些我目前已知的比较有名的书系,欢迎大家补充。
书系

  • O’Reilly书系:动物书,有口皆碑,可惜我看过的几本中文版的书翻译质量相当的糟糕(都是机械工业出版社翻的……),建议直接看英文,目前我就是这样,英文其实挺简单的。
  • head first书系:这个书系也很有名,书的编排、写作风格诙谐幽默,整个书系的定位就是入门书籍,通俗易懂。
  • in action书系:这个是最近发现的一个书系,貌似也很有名,没怎么读过这个书系的书,先不做任何评价,不过应该不错。
  • 图灵书系:感觉这个系列的书质量还是满不错的,讲知识点讲的比较细,而且翻译质量也不错。

书单
扩展视野

  • 《黑客:计算机革命的英雄》:可以算作一本历史书,讲了早期黑客(那时候还是hacker,不是现在cracker)的一些故事,可以看到黑客文化是如何一步步从无到有的。
  • 《程序员修炼之道》:大三的时候读过一遍,感觉不错,主要是给程序员提出一些比较实用的建议,比如说一年学1到2门新语言,使用版本控制系统,选择一个适合自己的文本编辑工具(如vim或是Emac)……这里就不一一列举了,我觉得如果你想知道作为一个程序员,应该怎样提高自己的话,最好先看看这本书。(PS:尤其推荐学计算机的女生看一看,因为就我个人的了解,好像相当一部分学计算机的女生,很多东西都不是很了解,比如说vim、svn,可能在接触实际项目前,连听都没听过……)
  • 《浪潮之巅》:不少人都推荐,吴军博士写的,看过一遍,主要讲目前IT行业中的几个大公司是如何诞生,以及正在衰落的公司是如何一步步走到今天这个地步的。相当不错的一本书。
  • 《数学之美》:2012年国庆的时候花了几天读完,也是吴军写的,介绍了数学理论如何在IT领域发挥其巨大的作用,通俗易通,强烈推荐。如果在大一大二的时候读了这本书,至少学计算机的童鞋们就会明白数学到底有多用。
  • 《黑客与画家》:硅谷天使投资人Paul Graham写的,想创业的同学可以看看,有不少给创业者的建议,当然,对于不想创业的人而言,也有一些参考意义。之前我草看过一遍,重点看了Paul给程序员的一些建议,最近重新翻阅了几页,发觉有新的体会。
  • 《UNIX编程艺术》:刚刚过去的寒假读了一下,感觉不错,介绍了有关UNIX的方方面面的知识。
  • 《七周七语言》:列举了几种经典的不同类型的编程语言,建议童鞋们有时间看看,毕竟我们平时接触的C/C++、 Java其实都属于命令式语言,多接触一下其他泛型的语言,还是很有好处的。
  • 《七周七数据库》:最近新出的书,主要介绍NoSQL数据库,还没细看,暂不做评论(在序言里作者直言是要模仿《七周七语言》)。
  • 《这就是搜索引擎》:介绍有关搜索引擎方方面面的技术,适合作为搜索引擎入门书籍。草草翻过一遍,感觉可以作为搜索引擎的入门书籍。
  • 《the architecture of open source application》:光是随便翻一翻就感觉这书太牛叉了,介绍了很多流行的开源软件的架构(没错,是架构),以架构师为目标的童鞋强烈推荐看看这书。可惜一直没什么时间拜读这本大作。

计算机系统以及系统管理相关

  • 《深入理解计算机系统》:这本书是老师推荐的,因为在开例会的时候老师说现在我们对计算机底层的实现还是太肤浅,推荐了这本书,结果整个实验室研二研三的几乎都买了……china-pub上这本书的评价是“价值超过等质量的黄金”(其实我更希望有人能用黄金跟我换),目前已经看了3章,感觉相当不错,对计算机各个方面的知识都有涉及,能补充不少大脑中有关计算机、编程的盲区。
  • 《maven实战》:其实我主要是想说明一下maven大致的功能——进行大型项目的管理,一个师兄在Adobe公司实习,在公司里他就是用这个进行Java开发,师兄说这本书不错,目前还没有细看,不做评论。
  • 《鸟哥的Linux私房菜》:这本书的大名,学过linux的人应该都听过吧,书写的通俗易懂,而且知识点很全。想了解Linux的话,这书是最佳的入门书籍。

算法

  • 《编程珠玑》:这个应该算是经典中的经典吧,抽时间读了下,感觉很容易读,但要深入理解就不是那么容易了,每章的题目也很难(也很有意思),应该有不少人都听过其大名。
  • 《算法导论》:这本书也是经典,写的很细,各种算法基本都有讲,砖头一样的厚度与重量,不是每个人都有勇气读下去的……借着上算法课的机会读了大部分章节,感觉其实如果能静下心来看书的话,这本书还是蛮容易读懂的。书上的算法描写的也很清楚。目前已经出到了第3版。
  • 《数据结构与算法分析》:刚刚读2章,感觉不错,貌似是有关算法的经典书之一。没多看,不做评论。
  • 《编程之美》:这本书……一般都是被人用作笔试前突击算法用的,相当一部分人是冲着这书的副标题去的,看过一部分,感觉有些题目还很有意思的,可以作为扩展自己编程思路的书籍。
  • 《剑指Offer》:推荐这本书还是因为笔试……听研三的师兄说,2012年招聘的时候,不少HR已经不看《编程之美》改看这本书了(毕竟《编程之美》已经出了很多年了~~),看了一遍,感觉有些题目还是蛮有意思的,可以看看。但建议对于找工作的童鞋,《编程珠玑》《算法导论》这种书才是王道啊。

程序设计语言

  • 《C程序设计语言》:C语言之父写的书,质量肯定是有保证的(自从第2版之后过了近20年都没做过什么修订),现在底层的东西还是要靠C来写,所以还有必要看看的。
  • 《C陷阱和缺陷》:讲了一些C中常见的“陷阱”。
  • 《C和指针》:读着和《C程序设计语言》性质一样的书,都是学习C的教材,但写的更细致一些,只看过一部分,不过多评论。
  • 《C专家编程》:没读过,不做评论。但这本书确实是C经典著作之一。
  • 《C++ Primer》:C++经典啊,我看的是大红皮的第4版,感觉很不错,看这本书可以了解到C++的一些细节,比如说我们平时写for循环,变量都是int i,而实际上,比较好的做法是用size_t或是size_type(这个记不清了,手头没带书……这里只是举个简单例子说明一下)。
  • 《Effective C++》:主要讲如何写出执行效率更高的C++代码,列出了不少原则,平时用C++比较多的童鞋可以看看。
  • 《STL源码剖析》:身边很多技术比较好的童鞋都推荐这本书,说应该看看STL是如何进行内存分配的。没读过,不做评论。
  • 《Java核心技术》:共两卷,我觉得第一卷就够用了,主要是用做工具书,平时要用了查一下,这本书刚好。
  • 《Java编程思想》:没怎么看,据说里面说的都是思想性的东西。想更深入了解Java的话,建议看一下。
  • 《Effective Java》:同样讲如何写出高效的代码,只不过这次针对的是Java。
  • 《深入理解Java虚拟机》:主要将JVM,因为研究方向的需要拜读了这本书,感觉写的不错,把JVM各个重要的方面基本上都介绍到了,而且还是蛮容易理解的。作为国人出版的原创书籍,已经相当不错了。不过要想深入理解JVM,还是得看规范啊(顺便提句,因为科研需要,我也翻过JVM规范,发现这书有一部分内容其实是翻译JVM规范,所以如果有地方看不懂,可以尝试看看JVM规范)。

框架

  • 《struts 2 in action》:我学struts的时候是看马士兵的视频,顺手借的这本书,没看内容,只看了下目录,从目录来看感觉还不错,一条条的知识点列的很清楚。
  • 《Data-Intensive Text Processing with MapReduce》:刚过去的这个暑期去北大上有关云计算的暑期课,老师用这本书作为教材,主要讲了MapReduce的编程模型,建议刚开始学习MapReduce和hadoop的童鞋看这本书,感觉讲的很清楚,国内貌似还没有,在网上可以找到电子版,也不厚。感觉对MapReduce编程模型讲解的很细致,有关算法的描述也很简洁。
  • 《hadoop权威指南》:学习hadoop的经典书籍,我个人觉得在懂的MapReduce模型后(尤其是看了《Data-Intensive Text Processing with MapReduce》这本书之后),hadoop权威指南更适合当做手册性质的书,需要的时候查查应该怎么使用hadoop提供的各种类。当然,平时没事的时候也应该翻阅一些这本书,看看hadoop都能做哪些事情。
  • 《hadoop in action》:这本书还没读,不过不少人学习hadoop的时候都是看这本书,所以也推荐一下。

数据挖掘

  • 《数据挖掘导论》:我学习数据挖掘的时候就是用这本书做教材,感觉书写的比较全面,可能因为当初读的是中文版,有些地方感觉行文的比较奇怪,豆瓣上评分蛮高的,而且大家都建议读英文版,说英文版比中文更加通俗易懂。
  • 《大数据——互联网大规模数据挖掘与分布式处理》:今年新出的书,chinapub上卖的蛮火的,目前买了还没翻阅,暂不评论。

设计模式

  • 《设计模式——可复用面向对象软件的基础》:GoF写的书,这本书可是第一次提出“设计模式”的概念,并总结了23种设计模式,如果是想以后当架构师,估计这本书需要深入钻研。
  • 《head first设计模式》:GoF写的那本我读了3~4章吧,实在有些不好理解,就没继续读,如果仅仅是想了解设计模式是什么,或者说想找本设计模式入门书籍的话,《head first设计模式》是个不错的选择,和head first系列其他书的风格一样,风趣幽默,简单易懂,轻轻松松让你明白设计模式是什么。建议读英文原版,中文版的我跟同学借来读过一点,感觉翻译很别扭,比如说Singleton模式,至少我看到过的帖子、视频,都是翻译成“单例模式”,GoF那本书的中文版也是“单例模式”,head first设计模式则翻译成了“单件模式”,还有Flyweight,一般都会翻译成“享元模式”,head first设计模式则翻译成了“蝇量模式”,感觉很别扭。所以,还是推荐看英文,反正英文版也很容易看懂。

软件工程

  • 《代码大全》:看过目录,感觉主要讲大型项目如何管理,这个离我比较遥远,所以也就没去看,但不少人都推荐,经典书。
  • 《重构:改善既有代码的设计》:没听说过,一同学告诉我的,豆瓣上评价很高,有时间拜读一下。
  • 《敏捷软件开发:原则、模式与实践》:Bob大叔的大作,讲敏捷软件开发,感觉对于刚刚参加实际工作的童鞋这本书很有用。目前读了2章。

to be continue……


  One Response to “程序员必读的一些经典书籍”

  1. 感谢博主的分享。
    作为一个跨界的非专业IT人员,因为建站的需要,最近对linux特别感兴趣。想学一点这方面的入门基础知识,博主有没有好的书籍推荐?
    另外,谷歌了一阵后发现《鸟哥的linux私房菜》这本书貌似评价挺好。博主以为如何呢?
    谢谢!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)