最近鹅厂技术专家miloyip大牛发布了 游戏程序员学习指南 (我的译著 《游戏编程算法与技巧》 原版也在其中:>),除了For Kid系列很多都看过,确实都是好书,深有同感,看着封面就有亲切感。但我觉得这条道路对于国内还没进入状态的小白来讲,门槛太高,光是英语就卡掉一批人。特别是前些天的 游戏蛮牛在线答疑 里,发现很多人都不知道如何进一步学习。在这里抛砖引玉,放一些我认为能够轻松阅读并且不错的中文教材的教材。如果某本书不那么容易消化,也会有标记,请放心进食。
这里的书对于CS专业的同学都非常适用,不限于游戏行业,欢迎补充~
PS: 作为程序员还是要能够阅读英语材料,可以从翻译海外博文&看美剧开始练习
整理分为四大块:编程语言(能写代码)->程序设计(能写好代码)->计算机底层(能做别人做不到)->计算机理论(能做别人想不到)
不过以我的经历,实际过程中会螺旋上升,编程语言->程序设计->计算机底层->计算机理论->编程语言->…,因为一下啃完一整块是不现实的。
PS: 在最后追加了一个数学
编程语言系列C是必学的,然后可以根据编程范式和语言类型有目的地去学习,比如面向对象C#、函数式lisp、逻辑式编程prolog等等。学完编译型还可以选择一门脚本型语言,比如Lua。
这里没提太多,因为很多用到就搜高分著作,搜到就学,也没太多特别好的书, 基本都当做工具书使用 。
如果过了第一个坎,那么恭喜,这里都比较轻松,比较偏向感性哲理一些, 这里需要大量练习与反思 。
主要看前两本就可以了,因为程序设计不是理论有多难多深,而是要通过多练习,将它们运用起来,内化起来,才能掌握的。另外学完之后还要了解一下UML和领域设计。
另外第三本作者松本行弘的一句话“程序设计就是语言设计”是影响我程序设计思路最深的,感兴趣可以看看。
这里属于好奇者的天堂,功利者的地狱。看完这里,过去很多迷惑都会消失,了解很多计算机系统是如何搭建起来的。
除了《深入理解计算机系统》(俗称csapp)之外,其他都是可以躺在沙发上就能轻松看完的好书(误)。
最好的汇编教材,没有之一,感谢王爽老师。我看的时候还是第一版
从手电筒开始,教你构建cpu,真正的深入浅出,作者非常牛逼
语言生动有趣,对操作系统有个感性的认知
简单了解Linux与Linux源码
手把手实现操作系统
手把手实现编译器
把程序启动的过程拆解给你看
比TCP三卷要轻松易读很多,不会陷入到细节里面
通过精心安排的案例教你怎么组建网络
教你怎么组建更加复杂的网络
建立计算机系统的大局观
可能对日常工作帮助不大,但了解完这块之后,能够了解很多事情的前因后果。
这块理论都不好啃,但这些书都已经非常平易近人、生动有趣。
类似于科普著作,讲计算机诞生的故事。
这本书讲到了计算的本质,对比另外一本书《计算的本质》,你就知道这本书有多好。
刘未鹏的博文: 康托尔、哥德尔、图灵——永恒的金色对角线(rev#2)
我的另外一篇博文:浅谈Y组合子
对话体课本,边学边练,轻松愉快掌握lisp。 只有英文版,不过非常简单。 完全颠覆对递归的认识,并且能让你平时写代码更加优雅简洁。
没看到特别适合入门的书:P,有合适请告知
这块也是不好啃,所以深入浅出的书非常少。
一定要做习题!
一定要做习题!
一定要做习题!
在游戏引擎里面学线性代数特别容易,可以拿个Unity对着写就好了
应用数学之王,必学的分支,并且对未来人工智能的学习有帮助
微积分是数学的主干,是必定要掌握的。尹逊波老师的《工科数学分析》课程是我上过最好的数学课,感谢中国大学MOOC和网易。