<传送门-->针对本文的交流探讨>
总宗旨:打好计算机通用理论基础、通用实战能力,便于需要时对各领域的无障碍深钻。时间宝贵,不要为了学习而学习。
计算机通用理论基础:
计算机各领域理论基础、各领域所需的数学;
通用实战能力:
高效阅读、编写大型代码的能力。
------------------------------
计算机专业书分类:
第一种:工具类。也称之为”工具书“。通常读1~2本即可。它面向的是真实环境中的实战,并且在其他环境不通用。这种书的特点是——每一章,都是针对一个实战问题而展开描述的。比如《疯狂Android讲义》、《C++ Primer》;
一句以概括——工具类的书,解决的是在实战中”怎么做“(How)的问题。
第二种:理论类。它要解决的是,你所接触到的各种工具,外观背后的共同原理。所以它跟应用类书籍相反,面向的是一种精神层面的详细交流,让你知道工具背后的计算机原理。——有助于让你更好地深入了解各种工具的特性,利用好工具;或者做出比当前工具更有成效的新工具。但是,理论类的书可能不是纯粹理论,也许会拿出一个具体的程序实例来阐明理论;而且理论类的书也不是完全通用的,需要分领域——操作系统、算法、编译,等等;
一句以概括——理论类的书,解决的是”是什么“(what)和”为什么“(why)的问题;
每个领域的理论书,只需读相关的导论,有需要的时候再学阐述更深入的书。
另外的理论类是数学。它是理论中的理论,需要最重点加强。先读各种相关的导论。然后在阅读数量上多多益善。(加强培养数学功底和数学思维能力,遇到其他计算机领域的根本数学理论有足够能力去研究)
------------------------------
学习方法:
应用类的书(适用于实战方向),先粗略通读一遍,然后直接实战,边实战边查书。有空闲再把学过的知识点连带整章都仔细阅读;书后的练习可做可不做;
理论类的书(适用于研究方向,但对编程职业绝对有好处),无法制定一个详细的方案,但一定要1、细读、多思考;2、要注意运用到实战当中,才能体现理论的威力,也才能用实战经验弥补书本的不足;
数学类的书,精读,一定要做练习。
------------------------------
练习方法(学以致用)
读完每个领域的导论,必须能手工做一个试验品出来。比如读完《操作系统原理》就做一个小型操作系统,读完《编译原理》就作一个编译器,读完《TCP/IP详解》就做一个TCP/IP协议栈。可以查其他具体资料。
------------------------------
实际工作图解:
在实际工作中:为了改善/实现某个工具而阅读书本或他人的代码,不要为了阅读而阅读。但需要培养高效编写、阅读大型代码的能力,才有能力研究他人代码或自己创造工具(所以实际工作之外又必须多写代码,多研究别人的代码);
===================================================
备注:
我个人非常不同意"程序员技术练级攻略"一文(
http://coolshell.cn/articles/4990.html),简直把人当作技术的奴隶,而不是把技术视为人类为达到目的而使用的工具。按他那么学,只有一个结果:什么都会,但什么都不精通,<重点>会的东西又不一定用得上</重点>。从他的个人简介(
http://coolshell.cn/haoel)中的一句话可以佐证:
“底层技术研究了十来年了,离业务太远了,越来越有点技术书呆子。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)