英语和高等数学对编程的重要性

不同视角、不同观点、深度探讨,禁止人品和道德攻击
fei6643
帖子: 170
注册时间: 2007-02-18 13:13

#46

帖子 fei6643 »

微软的比尔盖次不是说过嘛,学好计算计和数学就什么什么了。可见数学的重要性了
good good study,day day up
贯彻中国式英语
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#47

帖子 lb_bn »

数学思想是最重要的。。。 :D
vvvli
帖子: 441
注册时间: 2006-10-26 7:02

#48

帖子 vvvli »

vupiggy 写了:楼上的别逗了,楼主问的是编程,你说的是作计算科学理论,像我老板那样的,连一行程序都不会编,做protocol validation的,还有好多这样的计算机科学家都不会编程的,他们根本就是在做数学。

自己开发算法?又眼光太高了不是?我看程序员(包括RMS,Bill Joy在内)当中没几个有能力自己开发算法的。能用好算法,知道什么时候该用什么算法就已经是高手中的高手了,看Programming Pearls就可以体会到这一点。自己开发算法,尤其是有价值的算法都可以叫scientist了,反正我可没想往那奔去。现在的小朋友怎么总是拿scientist说事,还沃尔夫奖呢,他们是科学家,你也可以说是顶尖的程序员,但是明确告诉你,那完全不是我们能达到的,别想了,这么大年纪还在这里混论坛,比较切合实际的想法是做好一个代码工人吧。怎不想想大部分的程序员都不能做好一个代码工人的咧,别瞧不起代码工人,做一个好的代码工人是很难的事情,当然要做到这点确实完全没有必要去啃掉那些``高等''的数学。

要看懂TAOCP是不是只需要初等数学,列它的数学基础那一章就知道了:
数学归纳法
数,幂和对数
和与积
排列和阶乘
二项式系数
调和数
斐波那契数
生成函数
渐进表示
这里头的内容完全没超出高中数学外加大学的一点微积分和组合数学课程。不是初等数学是什么。mit不在本科课程讲授TAOCP就是因为它偏数学了,对于培养一个程序员没有必要。就算是研究生又如何?譬如分布式算法里头的蒙特卡洛和拉斯维加斯算法压根也没超出古典概率论的范畴,Lamport时间戳更是一拍脑门就可以理解的,这些哪是什么``高等''数学啊。

你一看就不是学数学的,连其它科系上的名称叫``高等数学''的东西在数学系里叫数学分析(数分数分没听过啊)都不知道,还``什么什么分析'',到现在数分只能算是初等数学了。

还什么``idea'',拜托,数学成了拉风投了,``idea''只能成就一个猜想,就像那个哥德巴赫,要证明推演这里艰辛的过程哪里是什么idea可以解决的。

我从来也没说这些计算理论背后的数学不是``高等''的数学,而是说对于程序员来说根本用不着,是说要理解要用好一些基本理论成为编程高手不需要``高等''数学,别拿理论研究说事儿,那是两码事!计算理论对于一个普通的好程序员弯完全没有必要可以举个最最简单的例子,谁在编应用程序过程当中用到图灵机的概念?听说过哪个程序员需要理解哥德尔不完备定理?

不要拿任何大的玩意来吓唬人,现实地说,:如果你想要成为Alan Cox这样的程序员,多写多看多炼多熬,8000~10000个小时可以成就你,这个完全可以达到,想成为Bill Joy,难点,软硬通吃,恐怕需要点天赋而且精力过人,这两者保证都不需要多少高等组合和那些沃尔夫的知识(O'reilly的三本关于linux kernel的大厚书都没有附录关于数学基础的不是么?:) 但是多少人能吃透? ),万一你要想成为Knuth和Dijkstra,那就玩命学数学去吧,然后耽误你的一生发现自己其实成不了Knuth和Dijkstra,洗洗睡吧,别做梦了。
用到知识少就是初等数学?搞笑。

数学么,学到一定程度就知道,人家一个idea胜过你辛苦n年,你就被气死。当然基本功很重要。

现在的算法都是dijkstra knuth两个人做的?

自有大量研究算法的人,拿高薪开公司,反正有个师兄搞信息论研究压缩理论在加拿大混的非常好。

多炼多熬就行的程序员能拿多少?这样的程序员是不是多了点?

见识太少了你。

还有,分析有很多种,数学分析最最基础,所以,只是听说过数学系的人不要装。

这个世界上真的是劳心者治人。

自己做不到不要误导别人,目光放远一点,那么多研究人员都吃饱的撑的?
vupiggy
帖子: 89
注册时间: 2006-03-19 18:25
来自: FZ->TJ->PEK->AMS->MTL

#49

帖子 vupiggy »

vvvli 写了:
用到知识少就是初等数学?搞笑。

数学么,学到一定程度就知道,人家一个idea胜过你辛苦n年,你就被气死。当然基本功很重要。

现在的算法都是dijkstra knuth两个人做的?

自有大量研究算法的人,拿高薪开公司,反正有个师兄搞信息论研究压缩理论在加拿大混的非常好。

多炼多熬就行的程序员能拿多少?这样的程序员是不是多了点?

见识太少了你。

还有,分析有很多种,数学分析最最基础,所以,只是听说过数学系的人不要装。

这个世界上真的是劳心者治人。

自己做不到不要误导别人,目光放远一点,那么多研究人员都吃饱的撑的?
看来你的理解能力和知识真的有限,我举的像Lamport算法都只需要初等数学就可以理解并不是因为它们的内容少,而是浅,奥数的题目再如何巧妙仍然是初等数学(也许它们的原型曾经高等过)!

问:
1:你能达到Alan Cox的编程水平么?
2:你去翻翻Alan Cox写过的那些程序,需要什么高等数学么?
3:Progarmming Pearls看过么?里面的思想你是否在编程过程中能运用自如了?重要的是,里面有高等数学么?

像Alan Cox这样的程序员不多,原因其实就是就连多炼多熬对大部分的程序员都达不到,眼高手低就是一个最常见的通病,更遑论去啃数学作研究了。

至于我是不是只听说过数学系,嘿嘿,只能这么说偶的确不是学数学地不过以前上的专业需要的数学是不少地,比计算机系要多一些要高等一些。后来改学计算机之后还恋恋不舍地选数学课,比如泛函分析(吼吼,又一个种分析,其实就是个名字罢了)一类的来刺激自己咧。

现在谈谈研究人员,很多很多研究人员编程序很烂的,但是他们的数学功底很好,所以在理论上有小突破,虽然成不了大师,他们的奉献精神还是值得崇敬的,如果有人想往这上发展,做无名英雄为学术做贡献,那是好事,不过这仍然和高等数学对编程有没有帮助这个主题一点关系没有。拿研究人员说事儿不知道是你故意跑题还是逻辑混乱,再说一次,那些学术界的研究人员不见得就是好程序员(有好多写程序只是为了验证一下自己的理论/猜想,代码糟糕之极)甚至不会编程序,这里他们的数学功底对他们的数学研究有很大帮助,但是对编程序于事无补,他们从事的不是编程工作!他们要成为好程序员一样要付出很大的努力去纠正很多思维习惯,带我写论文的大老板写程序跟要了他的命一样,他的专业就是数学。

理论研究是理论研究,编程大部分时候是用现成的算法解决实际问题,again,如果能够用好了现成的算法解决好现实问题,已经是高手中的高手了,当前软件行业最大的问题是明明解决一个问题可以用更简单的算法(当然指的是现成的算法),结果大部分程序员都做错了选择,很简单的应用却垃圾代码成堆(again,Programming Pearl里给了我们很多教训),还没到对更高级算法迫切要求的程度。

打个比方,目前编程序就像做奥数题,大部分难题有非常巧妙的解法,但是它仍然是初等数学。不会因为很多人做不了就变得高等了。

把话说得更清楚些: 想当一个好的程序员不需要多么高等的数学,初等数学的使用技巧要达到炉火纯青倒是正事,要当计算机科学的研究人员需要高等数学现代数学,但是这中行为不是编程,甚至不需要编程了,笔和纸是你的最有力工具。要开公司挣大钱,哦哦,不是我想讨论的。

BTW0:还没整明白啥事数学分析哪?真替你着急,什么什么分析有很多种,数学分析是最最基础的,真是大实话(废话),替你说了吧,tnnd数分就是微积分,当然是最最基础的了,你是不是还搜到了实分析,复分析,泛函分析?呵呵,受不了。

BTW1:我在这吭哧吭哧地说高等数学对编程序没什么太大帮助,Alan Cox写程序不用高等数学,你那来个搞信息论的在加拿大混得很好,就您这逻辑,堪忧啊,奉劝改行。

BTW2:看到你又是“拿高薪开公司”,又是“能拿多少”,又是“劳心者治人”的令人恶心的字句,您的眼界不过如此了(Bill Gates看来是最精通数学的人),觉得根本没有和你继续讨论的必要了,我这边谈着编程序你那里就跑到做生意上去了,就此打住。
头像
pedant
帖子: 1093
注册时间: 2005-12-23 0:29

#50

帖子 pedant »

很多命令、程序代码的简称都带有英文背景,英文不好很难融入到其中去。

计算机,更加助长了英文成为世界的语言霸主
发行版本:Ubuntu 11.04
桌面环境:GNOME 2.32.1
文件系统:ext4
内核:Linux 2.6.38-9-generic
平台:i686
CPU:Intel(R) Celeron(R) CPU 550 @ 2.00GHz
内存:993.2 MB
显卡芯片:Intel(R) GM965
电脑型号:DELL 500笔记本
头像
syhan
帖子: 272
注册时间: 2006-09-06 12:24
来自: Southeast University

#51

帖子 syhan »

数学太重要了
awesome + stalonetrayer + urxvt + rox-filer + feh + SLiM
mliz
帖子: 12
注册时间: 2005-10-02 13:40

#52

帖子 mliz »

世界上号称在做计算机软件的有两种人,其中一种是本身喜欢做软件,喜欢编码,看着程序跑起来就感到成就和满足的人,这种人无论他的英语,数学好不好,他都会用熟练和精通的一天,因为他本身就在代码中成长着,他的逻辑性,他对程序的整体分析和设计的认识,都是那些空谈算法,不做代码的所谓“研究者”们不可比拟的,还TMD真不要瞧不起代码工人,你丫在苦苦想是改用什么实分析,复分析的时候,人家早用简单到让你吐血的技巧把问题解决了,算法越简单,问题越少,当然像某些唯算法论者是想不明白的,因为丫根本没看过程序是怎么跑的,还有所谓的能拿多少,开公司,赚大钱,去加拿大,真是一句话,眼高手低,丫做程序的初始动机就是不对的,我可以这么说,当代码工人未必能拿多少,开公司,赚大钱,去加拿大,但连代码工人都没当过的,肯定不能拿多少,开公司,赚大钱,去加拿大
vupiggy
帖子: 89
注册时间: 2006-03-19 18:25
来自: FZ->TJ->PEK->AMS->MTL

#53

帖子 vupiggy »

mliz 写了:世界上号称在做计算机软件的有两种人,其中一种是本身喜欢做软件,喜欢编码,看着程序跑起来就感到成就和满足的人,这种人无论他的英语,数学好不好,他都会用熟练和精通的一天,因为他本身就在代码中成长着,他的逻辑性,他对程序的整体分析和设计的认识,都是那些空谈算法,不做代码的所谓“研究者”们不可比拟的,还TMD真不要瞧不起代码工人,你丫在苦苦想是改用什么实分析,复分析的时候,人家早用简单到让你吐血的技巧把问题解决了,算法越简单,问题越少,当然像某些唯算法论者是想不明白的,因为丫根本没看过程序是怎么跑的,还有所谓的能拿多少,开公司,赚大钱,去加拿大,真是一句话,眼高手低,丫做程序的初始动机就是不对的,我可以这么说,当代码工人未必能拿多少,开公司,赚大钱,去加拿大,但连代码工人都没当过的,肯定不能拿多少,开公司,赚大钱,去加拿大
呵呵 :em51

那些大嚷着数学(尤其是``高等''数学现代数学)对编程如何如何之重要的绝大多数都是既没编过程序又不知道数学为何物的freshmen,好像自己发现了数学的重要性就悟道了高出芸芸众生了似的,扯吧,其实上面码了这么多字就是要把他们拉下神坛,让大家都能看到我认为的编程这份工作现实真实的一面。
头像
ving
帖子: 3741
注册时间: 2007-07-29 16:47
来自: 地精魔法学院

#54

帖子 ving »

高等数学<<离散数学
hiseh
帖子: 24
注册时间: 2005-09-14 10:59

#55

帖子 hiseh »

我想大多数人都只能涉及到应用开发,对我们做应用开发的人来说英文要远远比数学重要。
因为客户要求用英文写文档,因为我们用到的东西多是老外作出来的。
头像
drivel
帖子: 1918
注册时间: 2006-07-08 9:21
来自: University of Science and Technology Beijing
联系:

#56

帖子 drivel »

stlxv 写了:你说的高等数学,只是指微积分(也就是“高等数学课”)吧

高等数学是数学中一个大系,有很多分支,微积分只是其中的某一个很小的组成部分而已
个人感觉,微积分貌似和计算机联系较为紧密
头像
drivel
帖子: 1918
注册时间: 2006-07-08 9:21
来自: University of Science and Technology Beijing
联系:

#57

帖子 drivel »

wanglei8312 写了:我 真正体验了,没有数学和英语,计算机是不性的。要学的
行?性?
头像
drivel
帖子: 1918
注册时间: 2006-07-08 9:21
来自: University of Science and Technology Beijing
联系:

#58

帖子 drivel »

David50814 写了:
Roger_king 写了:上学期刚学完数据结构,顿感高数、离散、概率的重要性。还好,这几门还学得不错。否则...就是看天书了。英文嘛大一时四六级都过了。确实发现原版教材写的比较好,虽然废话多了些。国内的教材都是流水账,一个一个知识点讲过来。自己要推敲的东西太多。英文原版的大多比较人性化,翻译版普遍翻译质量很差。所以英文好一点是必须的。还有,国外网站上的各种文档、论坛也是好去处。我就坚持看E文的JAVA API文档。
阁下能不能教教我英文咋学,我就英文最烂 :P :P :P :P :P
找个美剧,看懂一季,要完全听懂哦,你的英语绝对就不烂了
头像
minpayne
帖子: 13
注册时间: 2007-09-16 9:02
来自: University of San Francisco

#59

帖子 minpayne »

drivel 写了:
David50814 写了:
Roger_king 写了:上学期刚学完数据结构,顿感高数、离散、概率的重要性。还好,这几门还学得不错。否则...就是看天书了。英文嘛大一时四六级都过了。确实发现原版教材写的比较好,虽然废话多了些。国内的教材都是流水账,一个一个知识点讲过来。自己要推敲的东西太多。英文原版的大多比较人性化,翻译版普遍翻译质量很差。所以英文好一点是必须的。还有,国外网站上的各种文档、论坛也是好去处。我就坚持看E文的JAVA API文档。
阁下能不能教教我英文咋学,我就英文最烂 :P :P :P :P :P
找个美剧,看懂一季,要完全听懂哦,你的英语绝对就不烂了
同意,不过对看文档没有太大帮助。。。
PhoenixJ
帖子: 1492
注册时间: 2007-08-09 3:33
系统: Windows 12.04

#60

帖子 PhoenixJ »

其实说英语和数学重要的原因主要是如下两点:
1.英语好,更容易理解别人的思想,更便于获取信息;
2.数学好,相当于锻炼了脑袋,在应付其它问题的时候可以熟练地用理智的方式求解。

说白了,毕业了以后,除非你专门研究这个,否则英语和数学没用。为啥呢?

要是你英语不好,也没人用你做英语有关的事情。英语好,也不是本事,因为这是你应该的。
毕业12年了,我也从来没用过环域格体群,(我同意ving的看法,离散数学(加上组合数学)比微积分重要),但是上学时候所做的那些数学训练在无形之中影响着你的工作效率。
回复