1.对工作、对技术的热爱,发自内心的热爱
2.拓宽视野与深入理解相结合
3.耐住寂寞,坚持到底的毅力
搞 Web / 互联网相关技术,总给人一种错觉:年年都在“技术革新”、年年都有“革命性”的新东西诞生。
某种意义上说是这样的,技术的确是在飞速发展。但从本质原理来讲,其实没多少新东西。一句话:底层(例如OS)没有提供相关的原语(primitive),再怎么玩儿都玩不出花儿来的。想要深刻理解那些“消息”、“事件”、“异步”、“回调”,就去看看 OS 的书,再回过头来想;想要理解什么新语言的原理,先把几大基础语言打扎实了,了解一下 PL 的基础知识(尤其是类型系统、内存管理),再回过头来看看文档甚至代码(解释器、编译器的)。
基础打好还是很有用的。君不见某些文章里扯来扯去到最后连进程和线程都分不清……这在一些直接自学“高层建筑”而跳过底层的程序员中很常见。在不了解原理的情况下绕着那几个字眼转来转去,绞尽脑汁去“类比”、“理解”,个人觉得意义不大。
某种意义上说是这样的,技术的确是在飞速发展。但从本质原理来讲,其实没多少新东西。一句话:底层(例如OS)没有提供相关的原语(primitive),再怎么玩儿都玩不出花儿来的。想要深刻理解那些“消息”、“事件”、“异步”、“回调”,就去看看 OS 的书,再回过头来想;想要理解什么新语言的原理,先把几大基础语言打扎实了,了解一下 PL 的基础知识(尤其是类型系统、内存管理),再回过头来看看文档甚至代码(解释器、编译器的)。
基础打好还是很有用的。君不见某些文章里扯来扯去到最后连进程和线程都分不清……这在一些直接自学“高层建筑”而跳过底层的程序员中很常见。在不了解原理的情况下绕着那几个字眼转来转去,绞尽脑汁去“类比”、“理解”,个人觉得意义不大。
说起来easy,做起来试试!