书单

书架-持续更新

一种编程语言的重要性并不在于语言本身,而在于这种语言所体现出来的编程思维模式。所以说,并不是你用到的书才去读,读书是一种习惯,一种积累。

《c标准库》 英文版   必读

《计算机组成与设计:硬件,软件接口》 原书第3版  必读

《现代操作系统》 原书第3版  必读


新增(2015.06.25) 图形学(计算机三座大山  : 操作系统  &  编译原理 & 计算机图形学) 

《3D数学基础:图形与游戏开发》  图形学 数据知识的 入门书籍(简单直观,必读)

《3D游戏编程大师技巧》  软渲染引擎(一步一步教你怎么实现类似 DirectX 与 OpenGL API 是怎么设计的,书籍比较老旧,需要看的是 设计思想还有实践过程 &API设计) 

  从第二部分读(这本书已经绝版很久了,作为一个想向3D游戏发展的IT业新人,我觉得这本书十分值得一看, 对基础原理介绍还算十分详细, 例如网上基本搜不到关于1/zbuffer在屏幕空间中呈线性的证明, 这本书12章有两种证法, 
并且对各种高级渲染技术从算法的角度给读者解释,书中代码量非常多, 第十二章有5万行代码(注释也很多), 


  综上, 我觉得在有一定的3D数学基础上看WINDOWS游戏编程大师 + 3D游戏编程大师这两本书会让你在这个领域中有一个很好的起步.

新增:

《redis设计与实现》 4w行的 c代码  基于redis3.0

《Lua源代码剖析》 2w行的c代码    基于Lua5.3.0

《Linux内核设计与实现》2.6内核

       《程序员的自我修养

   第一部分综述了操作系统的一些基础知识。比如 CPU + 内存 + IO 的三大核心,比如 程序运行时的内存管理的分页、分段,以及多线程的安全问题等。

    第二部分 介绍静态链接。 先对编译器的处理过程(预编译、编译、汇编、链接)做了简明的介绍,之后详细介绍了 我们C编程时,常见的obj目标文件(编译后未链接的文件)的文件结构(ELF),实现机理。阐释了 静态链接的实现方法。链接器的历史是长于编译器的。举例来说,即使是最简单的一个hello world在屏幕上的显示都是要链接到很多文件的。

    第三部分 是装载与动态链接的介绍,并介绍了linux的共享库的组织以及windows下的dll机制。C和C++作为linux和windows实现的基础,他们是如何发挥其作用的,这里都有描述。

   第四部分 是程序对内存的使用,运行时库的初步介绍,系统调用与API 和 一个简单运行时库 的实现实践。

编程语言

C程序设计语言  (已读)

C语言程序设计_现代方法(第2版)  (已读)

C语言接口与实现 (已读)

C语言深度解剖

C专家编程   (已读)

C陷阱与缺陷 (已读)

C Primer Plus

高质量程序设计指南

C++编程思想

C++沉思录

  • C++程序设计语言(The C++ Programming Language)这本书不像一本编程教材,更像一本编程语言参考。有很多的迹象表明有人确实读过这本书,否则我们不可能有这么多的C++ 编译器可选择。编程初学者(或者甚至其它语言的专家),如果想学C++,不应该直接去啃C++程序设计语言(The C++ Programming Language)这本书。告诉他们去读《C++ Primer中文版》。

  • Effective C++ (已读)

    C++ Primer Plus (已读)

    深度探索C++对象模型

    STL源码剖析

    数据结构与算法

    算法: C语言实现(第5部分)图算法  

    算法:C语言实现   (已读) 

    算法导论      (参考书,推到正面略过)

  • 算法导论(Introduction to Algorithms)(CLRS)这本书的名称是所有出版过的计算机书籍中最让人误解一个。它被广泛的使用在很多大学里,通常被当作毕业生必需的算法课程。于是,只要在大学里上过计算机课程的学生几乎都有一本这样的书。然而,除非你拥有计算机硕士学位(而且是算法研究领域的),我怀疑你顶多只读过算法导论(Introduction to Algorithms)里节选的几章内容。这个书名让人误解,是因为”Introduction”这个词让人以为它很适合初级程序员。实际上不是。这本书对算法做尽可能详尽综合的介绍,就像其它一些随处可见的类似的书一样。请不要再把这本书推荐给初学者。

  • 计算机程序设计艺术(第1-4卷)    (放弃读)

  • 计算机程序设计艺术(The Art of Computer Programming)(TAOCP)我经常听到人们把这本书描述为“每个程序员必读”的系列计算机书籍。我认为这明显不是实情。在我说出这样大不敬的话、被你们用板砖拍死之前,请让我做解释一下。这不是一本让你一页一页翻着读的书。这是一本参考大全书。把它放在你的书架上看起来会很不错(实际上也它确实很好),但如果想把它通读一遍,你需要几年时间,而且最后什么都没记住。这并不是说手边放这样一本书没有什么价值。它是一本参考书,当我遇到难题,走投无路时,很多次我都在这本书里找到办法。但这本书终究是被我当作参考书。它复杂难懂,很理论,里面的例子都是汇编语言的。好的一面是,如果你想在这本书里寻找针对某一问题的解决方案,如果你找不到,那就说明这个问题无解。它是一本对它所涉及到的领域做了最最详尽介绍的一本书。


  • 多任务下的数据结构与算法 

    计算机基础 

    UNIX网络编程 卷1:套接字联网API   (已读第2、3、4、5、6、7、8、11、14、15、16、26、30. 重点是了解原理,比如tcp的握手原理、非阻塞等。其次就是跟一些选项啊、函数啊什么的,这些大概知道有哪些能干哪些事情就好了,等用到、看到的时候能够想......)

    UNIX网络编程 卷2    (在读) 

    •         辞海似的书,选择性的看就好了。。。TCP UDP IO多路复用是这本书的经典部分。其他部分就是文档的描述了,对码农来说。有一个大概意思就可以了,从头写一个web server 实在是没有这个意义。

    • 虽然书比较厚,但对于IT码农,主要是tcp/udp编程,所以只要重点关注其中部分章节即可,主要有:第2、3、4、5、6、7、8、11、14、15、16、26、30. 因为本人在看这本书之前已经看过不少网络编程的代码,也自己实验过一些程序,所以一两周利用上下班坐车的时间就看完了。重点是了解原理,比如tcp的握手原理、非阻塞等。其次就是跟一些选项啊、函数啊什么的,这些大概知道有哪些能干哪些事情就好了,等用到、看到的时候能够想...... 


    《UNIX环境高级编程》原书第三版     (在读)

    TCP/IP详解 卷1:协议

    TCP/IP详解 卷2:实现

    TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议

    自制编程语言

    编译原理           (在读:只读前端部分)


  • 编译原理(Compilers: Principles, Techniques, and Tools)(the Dragon Book) .
  • 这本恐龙封面的书涵盖了开发一个编译器你所需要的全部的知识。它的内容包括词汇分析,语法分析,类型检查,代码优化,以及其它很多高深的题目。请不要把这本书推荐给初级程序员,他们需要的只是分析简单的包含数学公式或HTML的字符串。除非你真的需要实现一个能够实用的编译器(或解释器),你根本不需要掌握这本“恐龙”书的全部强大威力。把它推荐给一个遇到简单文本分析问题的人,这证明你根本没有读过它。

  • 鸟哥的Linux私房菜.基础学习篇(第三版) (参考书 )

    Windows核心编程  

    深入理解计算机系统        (在读,参考书,有时间就看)

    Linux内核设计与实现 

    计算机应用领域

    Linux多线程服务端编程

    应用密码学:协议、算法与C源程序   (已读)

    软件工程与程序设计

    代码大全(第2版)

    UNIX编程艺术    (已读)

    代码整洁之道    (已读)

    软件工程: 实践者的研究方法











  • 你可能感兴趣的:(书单)