程序猿得看的经典好书

READING

  • Algorithm
  • C
  • C++
  • Coding
  • Java
  • Linux
  • Network
  • OS

其实想写这篇文章的缘由是因为看了微信公众号菜鸟教程推荐的那篇编程入门技巧大全,对于它说的一点我非常赞同就是多看好书,多读经典,并对它推荐的经典书籍作了记录,以方便后面可以拜读。

什么叫好书

差书会误人子弟,不但浪费了时间和精力,更可怕的是他会打击人的自信心,会让人越来越怀疑自己的学习能力。而好书虽然好,但是数量却很少,特别是被大家公认很有价值的好书更是少之又少。历经多年时间考验和市场风雨的残酷洗礼而仅存的巨著,更是极其稀少。君不见,中国历史上的文学小说多如牛毛,但仅存的巨著也不过《三国演义》等四本。

编程语言

其实对于编程语言的选择并不是非常重要,纯属个人喜好。因为语言的存在说明有它存在的理由,最起码相对其他语言有优势,所以它才不会被时间所淘汰,当然它肯定同时有它的劣势,这也是毫无疑问的。而对于一个程序猿,只要把它当作一种工具好了,我们需要了解它的优缺点,才能根据不同的应用场景来选择比较适合的开发语言,这样才能立于不败之地。

对于我而言,今后将重心放在C语言家族和Python这两种语言上。C语言家族是因为它够底层,基本上任何的事都可以干,而Python属于高级语言,它强大的库已经无所不能。至于其他像Java之类的,反正基本的语法都学过,如果要用,到时候熟悉一下就好了。

好书推荐

这是我写这篇文章的关键。通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此相互配合,形成一个完整的体系。所以对于学习者,只需要认真研读这几本书,就足以登堂入室。下面我列出了它推荐的各个技术领域的“四书五经”。其中有斜体评论是我看过的书,好尴尬。

C

  • C程序设计语言(第2版·新版)
    Brian W.Kernighan“C语言之父” C语言“倚天屠龙双剑”
  • C Primer Plus中文版(第五版)
    C语言“倚天屠龙双剑” Stephen Prata
  • C程序设计(第三版)
    这本书是由清华教授谭浩强老师写的,是我上C语言课程用的教材,讲的知识非常基础,但是又不会深入到细节里面。所以比较适合初学者。
  • C语言大全(第四版)
    HERBERT SCHILDT
  • C语言接口与实现:创建可重用软件的技术
    DAVID R.HANSON
  • C语言参考手册(原书第5版)
    Samuel P.Harbison
  • C程序设计教程
    H.M.Deitel/P.J.Deitel
  • C陷阱与缺陷
    Andrew Koenig

C++

  • C++程序设计语言(特别版)
    c++八大金刚—-Bjarne Stroustrup“C++之父”—-技术权威,用词深峻,思想深远,c++百科全书代表,圣经。
  • C++ Primer (第3版)中文版
    c++八大金刚—Stanley B.Lippman—-纵横书市十数年,c++最佳教本,c++百科全书代表。
  • C++ Primer(第4版)中文版
    c++八大金刚—Stanley B.Lippman
  • C++标准程序库—自修教程与参考手册
    c++八大金刚–Nicolai M.Josuttis—-c++标准库的百科全书
  • C++语言的设计和演化
    c++八大金刚—-Bjarne Stroustrup“C++之父”
  • 深度探索C++对象模型
    c++八大金刚—-Stanley B.Lippman—-揭示c++底层,非常好,非常难。
  • Essential C++中文版
    c++八大金刚—Stanley B.Lippman—-旁枝暂略,主攻核心,轻薄短小,初学者
  • Effective C++中文版 2nd Edition
    c++八大金刚——Scott Meyers—-通过50个编程实例,展示专家经验,行文有趣,深处浅出。
  • More Effective C++中文版
    c++ 大专栏  程序猿得看的经典好书八大金刚——Scott Meyers—-通过35个编程实例,展示专家经验,行文有趣,深处浅出。
  • C++编程思想(第2版)第1卷:标准C++导引
    Bruce Eckel
  • C++编程思想(第2版)第2卷:实用编程技术
    Bruce Eckel
  • C++程序设计
    谭浩强
  • C++ 程序设计教程(第2版)
    钱能
  • C++ Primer Plus(第五版)中文版
    Stephen Prata

小点评:

  • 广博如四库全书The c++ programming language、c++ Primer
  • 深奥如山重水复Inside the c++ object model
  • 程序库大全The c++ standard libray
  • 工程经验之积累Effective c++、More Effective c++、Exceptional c++

Java

  • java编程语言(第三版)
    java四大名著—-James Gosling(java之父)
  • java编程思想(第2版)
    java四大名著—-Bruce Eckel
  • java编程思想(第3版)
    java四大名著—————-Bruce Eckel
  • java 2核心技术 卷I:基础知识(原书第7版)
    java四大名著—–Cay Horstmann
  • java 2核心技术 卷II:高级特性(原书第7版)
    java四大名著—–Cay Horstmann
  • Effective java中文版
    java四大名著——–Joshua Bloch
  • 精通Struts:基于MVC的java Web设计与开发
    孙卫琴
  • 精通Hibernate:java对象持久化技术详解
    孙卫琴
  • Tomcat与java Web开发技术详解
    孙卫琴
  • java与模式
    阎宏

数据结构

  • 数据结构C++语言描述
    Data Structures C++ —- William Ford,William Topp – 刘卫东 沈官林
  • 数据结构算法与应用-C++语言描述
    Sartej Sahni 汪诗林 孙晓东等 —- 机械工业出版社

算法

  • 计算机程序设计艺术
    Donald.E.Knuth———-算法“倚天屠龙”双剑
  • 算法导论
    Thomas H. Cormen——–算法“倚天屠龙”双剑
  • 离散数学及其应用
    Kenneth H.Rosen
  • 具体数学—计算机科学基础
    Donald.E.Knuth

网络

  • 计算机网络第四版中文版
    网络编程三剑客————–Andrew S.Tanenbaum
  • TCP/IP详解3卷本
    Richard Stevens—-网络编程三剑客
  • UNIX网络编程2卷本
    Richard Stevens—-网络编程三剑客
  • 用TCP/IP进行网际互联
    Douglas E. Comer
  • 高级TCP/IP编程
    Jon C. Snader
  • C++网络编程
    Douglas Schmidt
  • UNIX环境高级编程(第2版)
    Richard Stevens

Unix

  • UNIX编程艺术
  • UNIX环境高级编程(英文影印第2版)
    UNIX编程“圣经
  • UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
  • UNIX网络编程 第1卷:套接口API(第3版)
  • UNIX网络编程 卷I 套接字联网API(英文版 第三版)
  • UNIX网络编程 卷2:进程间通信(第2版)(英文影印版)
  • UNIX网络编程(第2版)第1卷:套接口API和X/Open 传输接口API
  • UNIX网络编程(第二版)第2卷:进程间通信
  • UNIX编程环境
  • UNIX系统编程
  • UNIX环境高级编程
  • Unix技术手册

Linux

  • Linux内核设计与实现
  • Linux内核完全注释
  • LINUX内核分析及编程
  • GNU/Linux 编程指南(第二版)
  • Linux设备驱动程序(第三版)
  • 嵌入式设计及Linux驱动开发指南——基于ARM 9处理器
  • Linux设备驱动程序 第三版(英文影印版)
  • Linux内核设计与实现(第2版)
  • Linux内核设计与实现(英文影印版)(第2版)
  • Linux技术手册

黑客技术

  • 应用密码学(协议算法与C源程序
    Bruce Schneier
  • 网络信息安全的真相
    Bruce Schneier
  • 黑客大曝光:网络安全机密与解决方案(第5版)
    STUART MCCLURE
  • 软件加密技术内幕
    看雪学院
  • 加密与解密——软件保护技术与完全解决方案
    看雪学院
  • 加密与解密(第二版)
    段钢

参考文献

  1. 文献1

原文地址:https://www.cnblogs.com/liuzhongrong/p/12272063.html

时间: 2024-10-08 05:55:53

程序猿得看的经典好书的相关文章

Java的线程与线程池(程序猿必看)

之前看到别人写的多线程方法,自己用得不知所以然,感觉很强大同时自己又很好奇.Java的多线程是高阶必须学习的知识,现在把网络上查询到的理论知识特别整理一下. 简单介绍 创建线程有两种方式:继承Thread或实现Runnable.Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法. 一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休

程序猿必看交互设计

本文作者 Pasquale D'Silva 是 Elepath 的一位交互设计师兼产品设计师,在本文中,他从交互的角度阐释了优秀的设计应该具有的一些品质,或者说,优秀的产品该如何实现与用户的自然沟通. 不得不说,有太多程序猿或者美工(注意,是美工,真正的设计师不会这么干)误把技术当艺术.把漂亮当设计了,真正重要的交互部分反而被忽略,你可以看看,一大批的产品都是近乎静态的,许多操作诡异至极,诸如你想添加一个条目到列表里,它就生硬的出现在那;你想删除,它就直接消失.这样的产品经理,你们到底有没有考虑

程序猿就应该是半个哲学家

作者:disappearedgod 文章出处:http://blog.csdn.net/disappearedgod/article/details/37876039 时间:2014-7-16 假设你是一个有着高学历的程序猿,看着一些低学历程序猿鸠占鹊巢式的抢占着研发岗位,你一定会愤愤不平吧: 假设你是一个有着低学历的程序猿,看着一些高学历程序猿享受生活.而自己还在悲催的啃代码的时候,除了咒骂他们是人渣之外,另一丝不平等吧: 假设你家境殷实.你会想问什么我们还要再这个封闭的环境内做着别人不能理解

漫谈程序员系列:3D打印能打印出程序猿吗

首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道,我要重复星爷在<喜剧之王>里的台词:其实,我是一本正经的喷子. 3D打印的定义 关于3D打印,下面是来自百度百科的解释: " 3D打印,即快速成型技术的一种,它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术.    3D打印通常是采用数字技术材料打印机来实现的.常在模具制造.工业设计等领域被用于制造模型,后逐渐用于一些产品的直接制造,已经有使用这种技术打

[MarsZ]程序猿谈大学之为什么不推荐就业时做程序猿

这篇文章适合一切有志做一个程序猿的人,而不仅仅只是即将进入就业市场的大学生. “又到了毕业找工作的时候了,好多朋友打电话向我咨询要不要让孩子做程序员.作为一个业内资深人士,我觉得这不能一概而论!要辩证的看待这个问题,视孩子的具体情况,具体问题具体分析.譬如说,如果是亲生的,就尽量不要.” 以上是最近我以前的一个程序猿同事一条QQ说说,意思很明显,不推荐做程序猿.当然这个有调侃的味道. 为什么不推荐就业时去做一个程序猿呢?为了回答这个问题,我们先看一些引用. 百度百科告诉我们:         

OSChina 娱乐弹弹弹——程序猿如何防火防盗防单身 OR 防败家?

周一啦,明天就是万众瞩目的光棍节,过个光棍节容易嘛我,已经持续一周被各种光棍节信息轰炸,现在中毒已深.听说现在光棍节有两个解释? 昨天是 119 今天是 110 明天是 111 到底是防火.防盗.防单身,还是 防火.防盗.防败家???这几年的光棍节已经发展成大型购物节了,各位的节操还在吗? @小潘pfl  :看到越来越多的朋友在空间和朋友圈卖包卖鞋卖烟卖面膜卖化妆品..我觉得我不能再低调了..专业维修核潜艇.核弹头翻新,抛光,打蜡...回收二手航母, 清洗航母.航天飞机保养,高空作业擦洗卫星表面

[转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )

7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的学习Java,里面包含有很多好的代码示例.第三版仍旧是免费的,直到第四版才开始收费,不过仍旧值得买一本收藏. Think in Java 免费下载: Thinking in Java 2. The Java Tutorials 这个教程来自于Oracle/Sun.对于初学者是不错的选择.我们可以根据

给Java程序猿们推荐一些值得一看的好书

学习的最好途径就是看书 "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 2.对着书上的代码自己敲的时候方便 "看完书之后再次提升自我的最好途径是看一些相关的好博文",我个人认为这是学习的第二部,因为好的博文往往是自己学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯

提高情商的好书推荐 (程序猿不仅要智商也要情商)

程序猿不仅要智商也要情商 上班与同事与领导会让很多IQ爆表 但EQ(情商)渣渣的童鞋很痛苦, 同时你想有好的发展未来就要懂得一些... 希望通过这篇博文能对你有所帮助与进步 同时记住不忘初心!!!! 有哪些可以提高你情商的书(新增书作者) 首先,你要挑对适合你的书! 赶紧把那些什么之类二十句之类的扔掉,别再看朋友圈转发的那些鸡汤! 卡内基什么的我还是保留意见.来看两句:人性的弱点之十八:不尊重他人的意见 反之:对别人的意见表示尊重,不管是对是错 人性的弱点之十九:不敢承认自己的错误 反之:如果你