论坛首页 海阔天空论坛

真正的程序员天生爱数学(转)

浏览 16941 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-07  
两届微软MVP获得者叶帆认为,如果是一个真正的程序员,那么他(她)天生就应该喜欢学习数学才对。

因为在叶帆看来,学理科的人分两种不同的人群,一部分人以逻辑思维为主,数学、物理、编程成绩较好;另一部分人以记忆为基础,英语和化学优胜一筹。以叶帆为例,他个人已从事<nobr>软件</nobr>开发十余年,是“地地道道”的程序员,同时也很喜欢数学:大学里就曾参加过<nobr>学校</nobr>组织的计算机编程和高等数学的竞赛,取得了编程第一,高等数学第二的好成绩。“所以我认为真正的程序员,不存在应不应当学习数学的问题,只要工作需要,随时都可以深入学习。”叶帆如是说。

不过叶帆也承认高等数学与一般程序员的关系并不是很大,只需理解和实现即可。因为在实际工作中有时候很少用到高等数学的知识。叶帆也只是在开发隧道广告系统中,对图像处理和г校正时用到一部分数学知识(主要是矩阵变换的知识),而且其中的大部分实现还是借鉴了现成的代码,数学知识本身反而并不需要深入了解。听起来,叶帆的回答颇有矛盾辨证的感觉。

特殊群体的程序员(如搜索开发、图像处理等等)和研究所的研究员似乎可能需要更多的数学知识,至于一般程序员,叶帆认为“只要具备高中数学基础就已经足够。”

先前有国外著书,矛头直指早期的计算机先驱如约翰冯诺伊曼(John von Neumann)和阿兰图灵(Alan Turing),说他们本身就是理论数学家,把数学模型移植到计算机中,尤其是算法,从而导致从那时到现在计算机科学始终受到数学的制约。他还认为在算法概念上编写软件不是什么好方法。对此,叶帆认为在编程没有涉及到高端<nobr>技术</nobr>层面上的时候,算法概念上的编写软件只是极少人的课题,因为面向对象的编程的思想已经深入人心。“当然如果你是一个科学家(或研究员),数学一定离你很近,甚至有可能数学是你工作的灵魂,而计算机代码仅仅是表达你思想的一种道具。”【文:呐不喊】

编后语:
记得一位有着10多年开发经验的老程序员曾经说过:“所有的程序本质上就是逻辑。技术你已经较好地掌握了,但只有完成逻辑能力的提高,你才能成为一名职业程序员。”他就象打了一个比方,你十八般武艺都很精通,但就是内力不够,所以永远都成不了武林顶尖高手。而这个内力对于程序员来说,就是你的数学内涵。
   发表时间:2007-11-07  
完全不赞同

虽然算法都是从数学演变过来的

但是没有必要“爱”只需要了解就可以了
0 请登录后投票
   发表时间:2007-11-07  
现在都搞应用, 没有感觉到数学。
0 请登录后投票
   发表时间:2007-11-07  
引用
现在都搞应用, 没有感觉到数学。

现在是大白天,我也没看到月亮
0 请登录后投票
   发表时间:2007-11-07  
Trustno1 写道
引用
现在都搞应用, 没有感觉到数学。

现在是大白天,我也没看到月亮

我看到过
0 请登录后投票
   发表时间:2007-11-07  
Trustno1 写道
引用
现在都搞应用, 没有感觉到数学。
现在是大白天,我也没看到月亮


被偶像批评了!  
0 请登录后投票
   发表时间:2007-11-07  
学习数学的目的是什么?

是把复杂的多元的信息
分类,化简,让有限的人脑能够
分析处理更多的信息。

像斧子是手的延长
数学是脑子的扩展

靠一目十行的记忆力可以成为天才
不靠一目十行的记忆力也可以成为天才

PS:我认为不懂数学的人。。。。
只有在上上个世纪的农民。
其它的人或多或少都人懂点吧。
0 请登录后投票
   发表时间:2007-11-07  
抛出异常的爱 写道
学习数学的目的是什么?

是把复杂的多元的信息
分类,化简,让有限的人脑能够
分析处理更多的信息。

像斧子是手的延长
数学是脑子的扩展

靠一目十行的记忆力可以成为天才
不靠一目十行的记忆力也可以成为天才

PS:我认为不懂数学的人。。。。
只有在上上个世纪的农民。
其它的人或多或少都人懂点吧。



1+1 也是数学。
0 请登录后投票
   发表时间:2007-11-07  
dengyin2000 写道
抛出异常的爱 写道
学习数学的目的是什么?

是把复杂的多元的信息
分类,化简,让有限的人脑能够
分析处理更多的信息。

像斧子是手的延长
数学是脑子的扩展

靠一目十行的记忆力可以成为天才
不靠一目十行的记忆力也可以成为天才

PS:我认为不懂数学的人。。。。
只有在上上个世纪的农民。
其它的人或多或少都人懂点吧。



1+1 也是数学。

为了把复杂的信息好存放。
必须对一些简单信息 进行再简化,简化为原子数据
1+1就是个例子。。。
特例是数字0的发明,
1/2 = 0.5的发明
1-2 =-1 的发明
sqr(2)=1.41421....的发明
sqr(-1)= i 的发明
这些简单的东西都是数学向外扩展的基石。
0 请登录后投票
   发表时间:2007-11-07  
程序员可以学点离散数学,没事看着玩玩.微积分就不必了.
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics