于我来讲,最主要的缘由就是学习了。javascript
去年差很少这个时候,我刚进入大学的计算机系,对于如何学习这个专业尚模糊不清。在开学一个月左右的时候,学院为了探索教学改革,要组建一个虚拟的试验班,让一个老师给咱们作了一次宣讲(当时没想到这个老师就是给我重大影响的韩老师)。他先说了一些他所碰见的大牛的例子,这些大牛的共同特征就是基础特别好,对于计算机系统的底层很是了解。因此学院但愿经过这个试验班,作一些教学方面的探索,看能不能培养出基础扎实的,更优秀的学生。还抛出了三个愿望:操做系统,编译器,数据库,但愿咱们走一遍,不只知道他们的运行机制,还要可以动手实践出一个简单可用的版本。前端
对韩老师说的打牢基础的说法深觉得然。如今IT方面的技术发展很快,封装也是愈来愈抽象,如何在这种瞬息万变之中积累下真正有用的知识技能,我想惟有以不变应万变,摸清这些知识的根部,才是最好的学习方法。或许最后咱们用于工做的是java,是python,是javascript。可是学习汇编,研究操做系统,编译器,会让咱们对这些新技术知根知底,进而学习的速度。java
如我研究连接器的参考书《程序员的自修养:连接,装载与库》的做者在序言中说的:python
“我目前从事的工做和系统底层关系不是很大,如今最经常使用的都是web前端,MySql数据库等这些应用层面的系统。虽然不是直接与系统底层打交道,可是以前的积累无时无刻不在帮助我取生如理解应用开发。好比MySql系统的内存和文件系统的优化,若是对操做系统的虚拟储存和文件系统机制没有深刻了解,那么可能只能在配置参数上作一些“猜想”性质的调整,不断地尝试各类参数,或者参考网络上别人提供的配置参数,但不必定适合本身的应用状况。了解虚存如何运做,进程地址空间的分布等,将会对应用的优化,甚至是架构设计上都会有更高层次的俯视。“linux
一个可用的C连接器,能够连接MiniCRT(64位版)程序员
这个系列的更新我会同时发在博客园和个人独立博客上:nanshu.pwweb