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

不同视角、不同观点、深度探讨,禁止人品和道德攻击
头像
forrid
帖子: 659
注册时间: 2007-04-23 17:40

#61

帖子 forrid »

英语当死,数学当立!

吾生也有涯,而知也无涯,以有涯随无涯,SB啊~~~~~~~~~~
caohuan99
帖子: 32
注册时间: 2007-10-17 9:16

#62

帖子 caohuan99 »

fanhe 写了:
sighforever 写了:各位也没必要神化数学的重要性吧!!
现在的知识都是要到用到的时候再去学才能真正掌握吧!
学习数学重要的是学习数学的方法和解决问题的思维方式,
数学知识,上学的时候要好好学,不用的时候也没必要刻意去学!
我相信大家在大学的时候成绩应该也是不错的,但现在我随便在线代,概率伦里找一个小知识点出来考考大家,估计能打出来的占不了三成。

我要说的就是,英语和数学固然重要,但不是重点。应该学好,但到达够用这个级别就不要刻意追求了。
高中的时候数学学得不错,但大一荒废了,导致高数学不好,后悔中!

我不同意你的观点
数学很重要,为什么所有的专业都要学数学,只是学的深度不同?搞教育的人是傻子?所有的物理现象结果和化学现象结果都可以用数学推导得出,说大了去,物理,化学都是数学的分支.

说说计算机专业学的基本的数学吧,高等数学,线性代数,复变函数,离散数学,概率论,数据结构(结合编程)
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56

#63

帖子 zhangsong023 »

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两个人做的?

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

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

见识太少了你。

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

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

自己做不到不要误导别人,目光放远一点,那么多研究人员都吃饱的撑的?
简直一句比一句白痴,跑题跑到爪畦国去了而不自知,还特喜欢自以为是狂用反问句。
如此龌龊的治学动机和拙劣的逻辑水准,还装腔作势地扮出一大鹏展翅恨天低的作派,歇菜吧。
头像
猛将兄
帖子: 2052
注册时间: 2005-10-19 17:33

#64

帖子 猛将兄 »

我喜欢zhangsong023vupiggy的发言
latian
帖子: 32
注册时间: 2006-11-22 22:01
来自: 广西

#65

帖子 latian »

我的感觉也是一样
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#66

帖子 vvoody »

不要妖魔化任何东西

vupiggy的话很中肯

60楼PhoenixJ的话可以作为总结。
caozhibin1988
帖子: 42
注册时间: 2008-05-17 4:28

Re:

#67

帖子 caozhibin1988 »

vupiggy 写了:“高等”数学的重要性没那么邪乎。那个举TAOCP做例子的显然连那本书的第一章都没看完,至少没认真看完,要看懂TAOCP要具备的数学只是无非是初等数论,级数,一点点微积分,线代和不少的离散数学,离所谓“高等”数学还远了去了,如果觉得那里面的数学很高深只能说你连高中数学都没学好。任何一本讲编程的书里面提到的数学都高不过这个去(当然不是讲编程语言理论的书,那些个就很很恶心了)。

好多纯计算机领域是不需要什么高深的数学的,只要头脑正常,逻辑清晰就可以做,比如做OS,如果不做微内核,不考虑分布式算法(这个东东需要的数学也仅局限于图论和一些概率论),基本没“高等”数学什么事儿,你问问Linus会“高等”数学么?搞不好一个理科的研究生数学都比他学得多(当然逻辑不见得比他清晰哦),问问他什么是半单李群,巴拿赫空间?他九成要傻眼,AST估计轻松答下,老大可是物理学博士--跑题儿了!!!像RSA加密算法发明者的确是聪明过人,但是要理解它实现它用好它需要用到的数学根本就是高中范围内的(不要拿出RSA背背后的哲学,如对称群一类的吓唬人啦,理解它真的不需要,呵呵)。

就偶上学自己的经验以及和朋友交流的情况来看,要求数学最高的地方在编码学那里,但是真正“高等”的也就是伽罗华域的一小部分,关于图灵机的部分也属于现代“高等”数学。信息论也需要一些。从mit这样顶尖学校到vu这样的小学校对于计算机科学中很多定理复杂的证明一律不要求,因为这真是只有做理论的人才用得着掌握扎实的。

有位哥们说得对,如果要针对一个领域往深里做那是要用到深奥一些的数学,比如建模做computational finace,或者语音识别,图形图像,但是这往往不是编程的问题,而是那个专业领域的问题,而且也不见得就需要“高等”的数学,而是怎么巧妙地应用初等数学去解决问题,所以还是打好初等数学的基础就好。Dijkstra的semaphore背后当然有可怕的数学,但是经过这么多年,Dijkstra的数学思想已经被无数的作者给打磨过了,变得非常的不数学而非常计算机了,理解了运用好就可以,不需要非要去看他老人家的论文,看他老人家的数学证明还不如看一段例子代码呢,是不是这个道理,问题在于怎么灵活地正确地使用semaphore无饥饿无死锁无不必要的锁等等,这体现编程水平,但是还是和数学无关,还真别说这就是数学,否则那帮学数学搞数学的会气死的。

所以个人认为对编程来说重要的不是高等数学,甚至高等数学一点都不重要,而是强逻辑性和一点灵感。

发了半天牢骚其实就是发现很多学计算机的兄弟都没搞清楚啥叫数学就大呼数学的重要性好还因为发现了这点颇有点沾沾自喜的样子,觉得有点好笑又好气,数学 =/=逻辑练习

P.S:如果把高等数学当作专有名词的话,指的是数学分析,这也快要属于古典数学的范畴了,离“高等”还十万八千里呢。

古典数学是指数学分析、高等代数、空间解析几何,数学系的老三基。高等数学是在几个数学学科里面各抽了一点。不太赞同老兄的看法。rsa算法做过一些,好像和李群没多大关系,倒是能扯上初等数论与密码学。看来老兄学过不少算法,不过建议老兄还是多看点数学,可以让人头脑正常,逻辑清晰。
chenxiaopang
帖子: 63
注册时间: 2008-05-23 1:01

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

#68

帖子 chenxiaopang »

同意vupiggy的看法。
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

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

#69

帖子 delectate »

好好学习高等数学吧!

诺伊曼(现在的pc都还是诺伊曼体系呢)

bill joy等等大牛门,都是5岁会积分,6岁会证明2+3=5的牛人

我高等数学=没学,老师不好好教,学了也忘了,大二了,郁闷了!

不打算靠计算机吃饭的高等数学可以放弃,如果想靠编程吃饭,一定要好好学
头像
zzzhiv
帖子: 194
注册时间: 2008-08-31 21:23

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

#70

帖子 zzzhiv »

数学是科学的基础,是具体可惜的描述语言。数学先于各学科的发展。现在用不到只能说目前学科的发展水平不够,暂时还用不到。
头像
xsoul
帖子: 441
注册时间: 2007-06-05 18:27

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

#71

帖子 xsoul »

两样都有学,可不会编程>.<
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

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

#72

帖子 billbear »

这个坟要留名。
显然 vupiggy 是个明白人。
moximoxi
帖子: 1967
注册时间: 2008-09-30 17:46

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

#73

帖子 moximoxi »

我国的所谓高等数学:微积分,线性代数,解析几何。这一分法貌似受到前苏联体系的影响。与其说这就是高等数学,倒不如说是真正“高等“数学的基础---可能这样说也不是很贴切,但马虎一点也可以接受。比如,初等代数,线性代数,到研究群,环,域的近世代数,是可以合在一本书里,并取名叫《代数学》的(事实上,有学者就是这么做的);微积分,现在多叫分析学,可简可繁,简单一点只讲到二重积分,复杂一点的 讲傅里叶,复变函数,更甚者,干脆泛函分析。
现代数学交叉太多,边缘太多,衍生太多,想分得泾渭分明,不可能也没有必要(从这个角度看,前苏联的那一”分区“方法,还真TNND科学!) :em11
说到数学对编程的重要性,不懂编程,所以无知,但据说数学,尤其离散数学,对计算机科学的发展是非常重要的。
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

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

#74

帖子 tenzu »

鸟语够用就行了,没必要听说读写译都精通
数学才是根本
vincebai
帖子: 4
注册时间: 2009-07-17 14:11

Re:

#75

帖子 vincebai »

天浩 写了:由这两部计算机科学的大著《The Art of Computer Programming》、《Introduction to Algorithms》就知道数学的重要性了,英语就更不用说了。完全同意楼主的看法!
有道理,数学博大精深,是学CS的内功,而大多数CS著作和论文都是英文的,所以英语也很重要
回复