最简编程基本功指南:那些年追过的 CS 书本



做者刘瀚阳,鹅厂高级工程师、博客 jjyy.guru、《游戏编程算法与技巧》译者程序员


欢迎订阅 刘瀚阳 的开发者头条独家号不是流汗羊的独家号算法

图片


最近鹅厂技术专家miloyip大牛发布了游戏程序员学习指南(个人译著《游戏编程算法与技巧》原版也在其中:>),除了For Kid系列不少都看过,确实都是好书,深有同感,看着封面就有亲切感。编程


但我以为这条道路对于国内还没进入状态的小白来说,门槛过高,光是英语就卡掉一批人。特别是前些天的游戏蛮牛在线答疑里,发现不少人都不知道如何进一步学习。网络


在这里抛砖引玉,放一些我认为可以轻松阅读而且不错的中文教材的教材。若是某本书不那么容易消化,也会有标记,请放心进食。app


这里的书对于CS专业的同窗都很是适用,不限于游戏行业,欢迎补充~编程语言

PS: 做为程序员仍是要可以阅读英语材料,能够从翻译海外博文&看美剧开始练习ide


学习路线

整理分为四大块:编程语言(能写代码)->程序设计(能写好代码)->计算机底层(能作别人作不到)->计算机理论(能作别人想不到)函数式编程


不过以个人经历,实际过程当中会螺旋上升,编程语言->程序设计->计算机底层->计算机理论->编程语言->…,由于一下啃完一整块是不现实的。函数


PS: 在最后追加了一个数学工具


编程语言

编程语言系列C是必学的,而后能够根据编程范式语言类型有目的地去学习,好比面向对象C#、函数式lisp、逻辑式编程prolog等等。学完编译型还能够选择一门脚本型语言,好比Lua。


其中C++系列的书都不会太简单,坑很是很是深,慎入。


这里没提太多,由于不少用到就搜高分著做,搜到就学,也没太多特别好的书,基本都当作工具书使用

  • C语言


  • C++

程序设计

若是过了第一个坎,那么恭喜,这里都比较轻松,比较偏向感性哲理一些,这里须要大量练习与反思


主要看前两本就能够了,由于程序设计不是理论有多难多深,而是要经过多练习,将它们运用起来,内化起来,才能掌握的。另外学完以后还要了解一下UML和领域设计。


另外第三本做者松本行弘的一句话“程序设计就是语言设计”是影响我程序设计思路最深的,感兴趣能够看看。


计算机底层

这里属于好奇者的天堂,功利者的地狱。看完这里,过去不少迷惑都会消失,了解不少计算机系统是如何搭建起来的。


除了《深刻理解计算机系统》(俗称csapp)以外,其余都是能够躺在沙发上就能轻松看完的好书(误)。


最好的汇编教材,没有之一,感谢王爽老师。我看的时候仍是初版

图片

从手电筒开始,教你构建cpu,真正的深刻浅出,做者很是牛逼

图片

语言生动有趣,对操做系统有个感性的认知

图片

简单了解Linux与Linux源码

图片

手把手实现操做系统

图片

手把手实现编译器


把程序启动的过程拆解给你看


比TCP三卷要轻松易读不少,不会陷入到细节里面


经过精心安排的案例教你怎么组建网络


教你怎么组建更加复杂的网络


创建计算机系统的大局观

图片

计算机理论

可能对平常工做帮助不大,但了解完这块以后,可以了解不少事情的来龙去脉。


这块理论都很差啃,但这些书都已经很是平易近人、生动有趣。

  • 可计算性

相似于科普著做,讲计算机诞生的故事。

图片

这本书讲到了计算的本质,对比另一本书《计算的本质》,你就知道这本书有多好。

图片

刘未鹏的博文:康托尔、哥德尔、图灵——永恒的金色对角线(rev#2)

个人另一篇博文:浅谈Y组合子

  • 函数式编程

对话体课本,边学边练,轻松愉快掌握lisp。 只有英文版,不过很是简单。 彻底颠覆对递归的认识,而且能让你平时写代码更加优雅简洁。

图片

图片

图片

  • 算法

图片

图片

  • 信息论

没看到特别适合入门的书:P,有合适请告知


数学

这块也是很差啃,因此深刻浅出的书很是少。


必定要作习题!

必定要作习题!

必定要作习题!

  • 线性代数

在游戏引擎里面学线性代数特别容易,能够拿个Unity对着写就行了

图片

  • 统计学

应用数学之王,必学的分支,而且对将来人工智能的学习有帮助

图片

  • 微积分

微积分是数学的主干,是一定要掌握的。尹逊波老师的《工科数学分析》课程是我上过最好的数学课,感谢中国大学MOOC和网易。

图片

原文连接:jjyy.guru/head-first-program-book

相关文章
相关标签/搜索