近期在看<程序员的思维修炼>,里面谈到:

左脑?右脑?

Andy在书中认为,大家长久以来重视左脑的线性思维能力,而忽略了右脑的综合性、非线性思维能力,所以作者用了大量的篇幅来纠正大家的思维习惯,包括很多训练方法和技巧,读者可以从中找到如何利用潜意识来解决问题的办法。不过,我认为Andy对右脑的重视程度有些过了,当然也许他自己的左脑系统性思维已经足够完美了,但是对于大多数开发人员来说,在尝试开发右脑的时候,请不要忘记把左脑的线性思维也要锻炼好,毕竟线性思维是一项基本功。

L,R Mode的切换是提高大脑工作的效率的方法之一.

来晚了,这个帖子有意思。

去年去蒙特利尔溜达了一圈。那边的朋友说:老外们的数学可差了。
半个月中,我买了两次地铁票。第一次,是一个中年妇女,她找错了
钱,但那是我第一次用加拿大元,我也不认识,找给我之后,我抓起
就走了,数了数发现不对,无论是17块一张还是17块两张,找得钱
都不对,我还想,难道是有税钱?然后我听见她大叫,我明白她是在
叫我后,我知道肯定是找错钱了,我回去把钱全部伸给她,她拿回了
10块,还瞪了我一眼。
第二次,我已经明白了。一张17块,我买两张,我给了那个小伙子
50加元,他思考了大约30秒,然后放弃了,拿出了计算器,我告诉他,
thirty-six.他很不乐意,自己算了一遍。找钱的时候,他拍了20块在
台子上,想了一下,再拍10块在台子上,然后是硬币,一枚一枚的数。
后面的乘客排着队,秩序良好,没人有意见。

这两件事情,使得我消除了对一件事情的奇怪感觉:金融危机时,英国
政府投资给民众培训数学,教他们如何算帐。当时我觉得不可思议,现
在,哥表示理解。

废话这么多,是为了支持一下彭老师,数学真没那么必要。重要是重要,
担不是对每个人都那么重要。

很多人认为数学对软件开发很重要,基本上是人云亦云,既没理论上的分析,也没有实践的验证。
这里有两个误区:
1. 把数学和逻辑混为一谈
数学有逻辑,其它学科难道就没有逻辑?日常生活难道就没有逻辑。毛泽东上学时代数学最差,但并不妨碍他运筹帷幄的全局掌控能力。软件开发主要也是一种管理思维,数学的作用并不大。
2. 误认为数学对底层研发很重要
操作系统底层主要的也不是数学,前段我做android平台字体引擎的改造工作,对android oS做了较多的研究。其实OS中数学的分量并不大,总体来说跟企业应用差不多。只有字库加解密用到较多数学知识,但加解密是相对独立的算法,可替换,类似的各种算法在整体操作系统的开发上属于次要地位。
所谓,我认为,不要说做企业应用,即使做底层研发,驱动开发,甚至开发数据库和OS,也大可不必有很深的数学基础。类似加解密算法之类是数学问题,而非编程问题。
3. 把数学领域跟软件领域混为一谈。
比如加解密、DCT变换之类属于数学领域的问题,跟软件开发不是一回事。很多算法原理甚至在没有计算机的时代就产生了。
4. 误认为通过数学能提高软件开发中的逻辑能力
大家都学过数学,数学讲究的是每一步都有定理和公里做保证,非常严格,“不必疑,不必揣,不必試,不必改”。拿这种逻辑来开发软件是注定要失败的。