关于学习技术的方法的随想
box(com本质论作者)说过:理解编程模型最可靠的的方法是抓住COM的基本词汇表,并精通这些词汇的语义。我想这个不单单指的是COM技术的学习方法,也是其他技术学习的金玉良言。虽然看似概念是纸上谈兵,而write code被认为才是最快最见效的学习方法,但是write code也有劣势,比如大家都心里或多或少的存在“做web没什么技术含量”,究其原因是什么?为什么大家认为web开发是copy and paste?另一方面为什么又推崇编程语言从c语言学起,认为有c语言工作经验的人技术扎实?
我个人认为根本的原因在于,学习和使用c语言的过程中,你绕不开它的核心概念,内存(指针和内存分配),如果你不使用指针,基本写不出来规模稍大的功能,如果你使用指针,而你不理解它,相信你很快会放弃使用c语言甚至被“滚粗程序界”,所以能在c语言的环境下存活或者活的比较舒心,必须理解它的核心概念,而且时时刻刻都要使用它的核心概念,哪怕是c语言培训班(这种班这几年相当少,应该已经灭绝了吧),也会把指针作为重中之重。
再来看web开发,j2ee(后端ejb,jsp/asp/php,web容器等,前端html/css/javascript等),至少本人认为,web开发时面临的技术和问题,以及技术和问题的规模,都远超c语言日常解决的问题(http服务器,网络库,驱动),为啥还是认为web没有技术含量呢,原因web是在是范围太广,技术太多了,没有人能知道这么多的东西,这种情况下聪明的大牛们帮助我们隐藏了很多东西,北大青鸟的老师也会告诉大家:“我们这里教的都是干货”,注意,这个本身没有错误,因为你不可能学完web所有的技术知识再去开发web应用,这样不仅没有必要,而且浪费时间,但是你必须知道学到的是框架的接口(甚至是很小一部分接口),你只会知道你这么干,它就会这样,你那么干,它就会那样,但是不知道为什么会这样,更不知道浩瀚如海的xml配置文件里面到底都配了什么,甚至连文件目录都规定了,你放在这里就对,放在那里就是错,这个时候需要问问自己,web开发的核心词汇(概念)是什么,你会豁然发现自己不知道这些词汇,就算去百度搜索出来,也看不懂,好像和平时的工作更是不沾边。所以做web不深入始终是“不识庐山真面目”,如果做了很久还是这样,就危险了,但是偏偏这种现象大量存在,所以直接导致我们认为“做web没什么技术含量”
当然,看你的目标是什么,如果想要清醒过日子的人,那么必须强迫自己去理解自己使用的技术模型的核心词汇,并精通这些词汇的语义。这些东西可能不会帮助你提高你下午就得提交的代码的编写水平,但是你越来越明白和清楚这些核心词汇时,你会隐隐约约的听到或者看到一些巨大的信号,它撑起了你的视野,让你看的更远,你整个人都舒服多了。自己感受吧~~~