解决问题和学习底层知识的平衡

问题:为什么我总想了解编程中更底层的知识,而不是问题的解决?

问题描述:比如我最近想学网络编程,用的python。明明socket的模块很简洁,但我总想了解有关网络的更基础的知识。否则就感觉自己在用一个黑箱,很不踏实。

回答:

从学习、打基础的角度来看这是对的。

从使用、应用角度来看这可能有点“钻牛角尖”。

所以要从兴趣、学习、研究、名望、经济等角度去平衡这个事情,大凡精算的人,都是平衡大师、时间大师。试想老板要你三天出一份活,用框架或API两下半搞掂你却要从底层写起花了一个月?反过来需要底层知识才能解决问题的时候你却不会?

起步要扎实,应用时心里要懂原理,使用上要掌握快速开发方法,这是我认为的一个人在垂直专业领域的成长路线。否则就算你天天研究底层,天天高谈阔论,天天收获无数赞,也不一定能为自己带来多少实际效益。

抱着这种想法还有一个原因是想着深入一些就比较有竞争力,不容易被淘汰。这跟昨天一个帖子说的“放弃PHP吧赶紧转Java吧,不然五年以后你要被淘汰了”的论调一样的心思。其实深入一些也罢、学Java也罢,这都不能避免你被淘汰。决定你“命运”的因素往往是非技术因素,以及企业是否认可你的价值,而在这当中,如果你死抱技术,你就真的可能最后只剩下“Java”了……