在很多讨论场合我们经常看到这样的问题:弱弱地问一下,我想做个XXX东西,需要学习哪方面的东西?然后下面有“高手”这么回答:你可以先学XXX语言,和XXX工具,还要熟悉XXX框架……然后后面还有“高手”觉得不对,说:XXX语言已经过时了,比不上XXX语言,XXX语言才是主流……
这个问问题的同学最终还是很无奈,乱看一通书,到处去下载各种技术的视频教程,好在他还算是有耐心,几乎把所有语言的过了一遍,不停的在那里用各种语法练习输出“Hello World!”和水仙花数。
哪些高手们说错了吗?没有错,谁说的都有道理,但是最终还是没有解决问题,原因就在于没有抓住重点。其实我们可以很简单的用例子来对比一下,这好比一个人要做一道菜,光告诉他用什么锅,用什么材料就够了吗?关键在于“方法”,什么时候,什么状态做什么,掌握什么火候?这些都不是三言两语就能够概括的,很多东西其实描述起来很难,理解起来更难,实践一下就会很容易看清其中的奥妙。周星驰演的食神里面最后有个“黯然销魂饭”,材料很简单,但是功力深厚,照样很牛。
我一般主张按需所学,学以致用,例如XHTML+CSS的学习,我建议是直接去看成熟网站的源代码,其实也就是那几个标签和属性,标签无非就是a、div、ul、li、img这几个,属性也无非就是margin、padding、float、font、background等几个,理解之后,然后对照着写一遍(不是照抄),体会其中的属性数值和漂浮结构,如果遇到不会的HTML标签或者CSS属性再去查看相关的手册或者去论坛求助,而不是一开始就看什么这个宝典那个圣经之类的东西。这些书也是需要看的,但是初学者还是少看多练,多多去领悟,经验往往是实践出来的,而不是看别人的所谓的经验云云,因为不去做很难体会到其中的奥秘。
这年头搞IT这一行也不算是什么稀有职业了,我越来越觉得程序员就像厨师,随着技术和教育的越来越普及,做个网页比做个西红柿炒鸡蛋还简单,看到好多小朋友都会找一堆CSS和JS的空间代码贴一下、搞一下,花花绿绿的看上去还挺专业。那么我们搞这一行的怎么才能在这个社会中立足呢?这就需要火候,我们做出来的程序就要像大饭店的饭一样,色香味俱全,看着整洁专业,还得有营养,也就是能解决软件原有的需求。就像标题所述:做程序好比做菜,关键技术不是油盐酱醋!而是程序员的火候!
本文作者:阿泽,首发于:阿泽的驿站 http://www.a-ze.com 转载请注明出处,谢谢合作!欢迎交流、批评指正!