事关“工程师思维”

来源:互联网 发布:im talk软件 编辑:程序博客网 时间:2024/05/21 07:09

转载自:http://www.luanxiang.org/blog/archives/992.html

今天金山的刘鑫老师在邮件里谈到了“工程师思维”(工程师的思维能力,就是一种可以把想法实现出来,一步步的变成现实的思维和实践训练),借题发挥一下吧。

我上高中的时候,班主任是物理老师、特级教师,学校本身也算是本市最好的中学了,但我一直不是没觉得他讲课有多么好,无非是循规蹈矩,甚至有点死板——就拿受力分析的题目来说吧,多简单的题目,都要画坐标系,来来去去分解的就是那么几个力:重力、摩擦力、牵引力等等,太麻烦了。
到我大学快毕业的时候,辅导一个小朋友做高中物理题,忽然就让我改变了之前的看法:那是个很简单的问题,物体在斜面上的受力分析,我问他:这个题目要怎么想呢?出乎我所料的是,他胡乱画出了一堆力:扯力、顶力、拉力…
就在那一瞬间,我明白了,我们的物理老师的做法有多么高明:复杂问题是不能单纯依靠直观思维来解决的,我们往往需要从简单的情况入手,把章法练到纯熟,然后循序渐进,才可以解决越来越复杂的问题。我们的物理老师那看似繁琐的重复,其实是在培养我们的思维章法,把握问题的核心——做到了这一点,再复杂的问题,都可以一眼看到本质,而不会困扰、迷惑。

可惜的是,这样的思维和习惯,在我们身边,似乎还没有扎下深深的根基。我目力所及,看到的很多问题的解决方案,很多培训、教育还只停留在对天赋、才气的吹捧和推崇,而不是对练习章法、探究规律、把握本质的努力。然而才气、天赋等等都是太微妙的因素,无法复制,也无法推广,甚至很可能遗失——研究中国古代科技史的李约瑟博士就指出,中国古代的发明有个特点是“重复发明”,前人发明了某件东西,后人不重视,于是失传了,直到许多年后,再由后人发明……
在这方面,西方似乎比我们做的好得多,会有人不满足于与直观的思维,而要努力探究日常生活各种现象背后的原理,再经由一代又一代的人传承、积累,结果知识与生产力就像滚雪球一样,越来越多,能量也越来越大。
最简单的,比如小时候我做过不少“智力题”:几个人各说了一句话,其中几个人说了真话几个人说了假话,让你判断到底谁说了真话谁说了假话;河上有一条船,河边有狼、羊、人、草等等,一次只能渡两样过去,要怎样安排顺序,才能全部安全渡过去。这样的问题,我有一段时间做起来很快,也尝试总结过一些思路,但还是碰运气、凭感觉的成分居多,也没有人告诉我要怎么解,这些问题的本质是什么。直到后来学了离散数学,我才恍然大悟:第一个题目的本质是真值表,第二个题目的本质是图算法;而一旦问题到了这个层面,就有章法(或者说“套路”)解决了,再不需要什么才气、天赋:再有天赋、再有才气,也比不过计算机。于是,我们的精力,就不用再耗费摸索这类问题的答案上,而可以探索更加深入、更加新鲜、更有价值的问题。

我们还可以再举一个身边的例子:西方的很多书中,一个简单的道理,往往要翻来覆去地讲,非要把各个细节、各种情况都涉及了,才善罢甘休;许多人觉得很罗嗦,很累赘,他们关心的是“正对我胃口的知识”、“核心的结论”。但是,如果有时间认真研究这些细节,考虑各种情况,往往可以站在一个更高的角度来审视这些“核心的结论”,对它的认识更加全面——不但知道价值在哪里,也知道局限在哪里。
其实,这也是我当年阅读《精通正则表达式》之后的体会,在细细阅读了整本书之后,我不但了解了各种功能,更知道了在什么情况下,要使用什么功能,甚至在什么情况下,不应该使用正则表达式——这样的知识,很多就来自书中那些“繁琐”的内容。
正是因为有了这样的体会,我也奢望为大家提供一些这样的便利:《怎样翻译更地道》系列文章尝试总结一些应对翻译难点的通用套路,希望读者遇到这类问题时,查到对应内容就可以解决;《正则表达式傻瓜书》希望重点讲明白的(也是本书的重点),不但有各种功能的应用场景和选择规则,还有正则表达式解题的思维步骤:归纳一个应用场景的文本特征(转化为对正则表达式的需求);照这些特征一一写出子表达式,合理组合起来;最后优化整个表达式。掌握了这三步,并有意训练,就可以熟练准确地运用正则表达式,解决各种问题。
希望我可以努力做到。

原创粉丝点击