Tangram与软件集成技术专栏

与您分享组件集成的乐趣

孙辉ID:sunhui
153251次访问,排名482好友1人,关注者14
sunhui的文章
原创 50 篇
翻译 0 篇
转载 0 篇
评论 356 篇
孙辉的公告
Tangram进入了一个新的阶段,欢迎朋友们关注tangram,如果有朋友希望与我谈论Tangram,可以通过sunhuizlz@hotmail.com与我在线联系
最近评论
cqg1220:机柜
hehegujinhe:我保持沉默!
hehegujinhe:我保持沉默!
hehegujinhe:我保持沉默!
a_single_sail_w:今天在沃尔玛购物时见到孙老师,我竟然认出来了,哈哈。
文章分类
收藏
    相册
    Tangram
    ZDNet China软件技术专区
    李宁(ericlee)的blog
    Tangram支持网站
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 也谈数学基础与软件开发-追寻曾经的梦想(一)收藏

    新一篇: 回到北京,有了到家的感觉 | 旧一篇: 开始用QQ

            经常看到数学与软件开发之间的话题,偶尔,朋友们也在一起谈论,数学与软件到底有什么联系。每当被问及此类话题的时候,心中似乎总要泛起阵阵涟漪,不能平静,然而又很难简单明了的表述,因此有一段时间我只好选择沉默。
            数学是什么?研究生时期,曾经有一位备受尊敬的老前辈诡秘地问我们这些小辈,不知是谁,脱口答曰:“数学是关于空间形式与数量关系的科学”!老前辈笑到:“我猜,你们一定有人这样回答的”,听到这话,我们不禁产生一丝茫然,难道不对吗?老人家慈眉善目,不无得意地对我们说:“年轻人,你们一定要记住,Hilbert说,所谓数学,就是大数学家脑袋中想的那些事情”!今天想起当年的这段往事,仿佛就是昨天的事情,我已经离开数学领域十几年了,想起这些往事,十分亲切,那份留恋油然而生……
            的确,要想理性的给数学下一个定义,是十分困难的,通常意义下大众能够直接了解的数学基本上都是一、二百年前的东西,至于大学标准数学系中能够接触到的比较近代的“数学”,例如,近世代数、泛函分析,代数拓扑等大体都可以追溯到一百年前,因此当一旦被问及近、现代数学究竟包含些什么东西,能够解释清楚的人,一定是具有很深数学修养的人,笔者肯定不是这类人。记得当年读数学系的时候,班级中有31人,高考数学卷面100分,附加题20分,班级中绝大多数都在105以上,最高117分,很惭愧,本人仅仅97分,居于平均分以下。遥想当年,每个人都意气风发,因为哪个年代是“学好数理化,走遍全天下的时期”。然而,专业数学特有的本性很快击溃了大多数人的梦想,半个学期过后,大多数人的数学家之梦基本上就荡然无存了,……。我的班主任是研究代数的,选定的教材是北师大老前辈张禾瑞先生、郝丙新先生的《高等代数》,那个时候我们真的对数学充满着憧憬,然而,很快,我们就发现,大学数学的味道,真的很难接受,相当难接受!两个月下来,我们大多数人搞不清楚,《高等代数》是干什么用的,数学分析,那就更成问题了,什么实数构造理论,ε-N语言,……,一系列干干巴巴的纯正的数学,一系列远离现实的数学、一系列具有百年以上历史的数学,让我们品尝到一股从未品尝过的辛辣,难道这是一杯苦酒吗?对许多同学而言,有一种上当或误入歧途的感觉。高年级的师兄、师姐们说:“你们这才哪跟哪呀?以后你们就知道了,这仅仅是开始,当你们品尝过什么‘泛函(分析)、实变(函数)’,那你就知道数学系得滋味了,保证你辛苦一学期后,难解其中味”!客观的说,数学系的成活率很低,一个年级也找不出几个(注意,一位数)能够理解所学内容的,我很幸运,成为少数中的一个。20年后的今天,回想当年的往事,真是虚汗一身,选择数学系是一种幸运,也许不是,我无法判断,夜深人静的时候,翻开那些精装的数学名著,我始终感觉到一种遗憾,有时候,真想回到那个曾经拥有梦想的领域,然而时间不能倒流了。
            数学离现实有多远,我不具备回答这个问题的资格。然而,我可以认真地告诉你,的确很远,数学与软件开发有着极大的差别,没有十年的铺垫,现代数学中你几乎不能做出像样一点的工作,即使是神童,也无法回避这个事实。软件则不然,如果你选择在软件领域中工作,你可以选择恰当的起点,2-3年即可以成熟的投入工作,在数学领域是不行的,那些经典课程,如前面提到的数学分析、泛函分析、近世代数等等是不可逾越的关隘。软件代码可以Copy,即使你不懂,数学研究在这方面几乎无法类比。经常听到有人谈起数学基础对软件开发的重要性,因此也心中痒痒的唠叨几句……。(待续)

     

    发表于 @ 2006年05月31日 07:59:00|评论(loading...)|编辑

    新一篇: 回到北京,有了到家的感觉 | 旧一篇: 开始用QQ

    评论

    #jason 发表于2006-05-31 09:20:00  IP: 211.157.209.*
    re,跟物理一样
    #brucesea 发表于2006-05-31 13:07:00  IP: 210.94.41.*
    典型的小学生作文:
    下笔千言,离题万里。
    #Rushinger 发表于2006-05-31 13:14:00  IP: 219.246.84.*
    根本没谈到任何数学与软件开发的关系,根本没粘题
    #风可以追我 发表于2006-05-31 15:30:00  IP: 60.22.87.*
    原来如此,呵呵.
    #mailbomb 发表于2006-05-31 13:21:00  IP: 221.226.119.*
    呵呵
    #steven 发表于2006-05-31 15:46:00  IP: 218.89.3.*
    说得挺好,因为我是学数学的!
    #fferror 发表于2006-05-31 18:18:00  IP: 222.240.219.*
    数学固然与软件开发有着巨大的差异,但是比较这两者,本来就是失当的. 数学是科学,其比较对象应该也是科学,比如计算机科学.而不是软件开发这门技术活.我认为,软件开发与做数学习题的相通之处要多些. 至于计算机科学与数学的关系,用相当密切来形容决不过分. 至于两者的具体比较,就非我目前能力所及了.
    #whycrying 发表于2006-05-31 18:58:00  IP: 222.50.75.*
    我也看不出他在写什么?数学很难,但是作者很厉害么?
    #孙辉 发表于2006-05-31 19:18:00  IP: 159.226.193.*
    看了许多往友的评论,有许多感想,这篇blog还没有写完,请大家等待以后的一些续篇,数学基础的确与软件架构关系密切,仔细回想一下,大多数开发者都学过线性代数,对线性空间、线性变换等概念都应该有记忆,数学结构的特点是存在一个公理体系,以及相应的承载集合(例如:群、环、域、向量空间等等),这些结构都有“基”的概念,有了“基”,按照特定的法则,其他成员都可以由基元素进行组合构造得到,而这一点是可以运用于软件体系的构造之中,欢迎大家提出不同的建议,与大家共勉。
    #hover 发表于2006-05-31 17:47:00  IP: 222.78.68.*
    你说写了半天,我也看了半天,不知道你到底要说什么。我也不懂你写的内容跟你的标题有什么联系。看来你是研究了数学,忘了小学语文了。
    #破布飘飘 发表于2006-05-31 21:02:00  IP: 202.4.147.*
    人家刚刚开了个头嘛

    慢慢看

    应该有精彩的
    #暗夜纯静 发表于2006-05-31 20:32:00  IP: 222.199.201.*
    数学用来分析软件的空间效率和时间效率,高等数学和概率用的最多。形式化语言可用数学证明软件逻辑体系的正确性,离散数学的应用。
    #SENSON 发表于2006-05-31 22:40:00  IP: 218.16.242.*
    写的真好,我目前的开发根本无需用到什么数学方面的知识;
    #ambiforever 发表于2006-05-31 22:08:00  IP: 218.78.224.*
    lz一下就要说说二者的联系了.期待.
    越是难熬的磨练,越是值得怀念~~
    #icbm 发表于2006-06-01 01:09:00  IP: 58.33.125.*
    不仅是数学,很多有趣的东西,被我们的老师讲得一团糟。也让我们失去了兴趣。

    看看莫斯科大学,一个学校出了几十位世界顶级的数学家。我们应该好好向人家学习。
    #teapost 发表于2006-05-31 16:20:00  IP: 218.89.146.*
    呵呵 《什么是数学》 , 建议大家去看看
    #shrek_xu 发表于2006-05-31 16:28:00  IP: 218.83.64.*
    说得好,我也是数学系的,那些非数学系的是无法理解我们的,刚出来做软件的时候,只写过c,其他的一概不会,等参加工作了,就真正意识到,从数学转到计算机还不是那么容易的,毕竟研究方向不同,数学研究的深度,目前计算机的编程大部分都是广度研究,没什么深度可言,哪里不会了,上网去搜,一般都会有现成的答案
    #ken 发表于2006-06-01 01:53:00  IP: 59.33.130.*
    作者想表达什么呢??真是离题千里!!!
    #g9 发表于2006-06-01 04:58:00  IP: 199.246.40.*
    作者离题太远了吧?倒是这篇文章讲了数学对程序员的作用:http://blog.csdn.net/g9yuayon/archive/2002/02/25/8737.aspx
    #collision 发表于2006-06-01 07:22:00  IP: 219.236.54.*
    lz的数学应该是很不错的,大家应该有耐心往下看。

    但是,软件工程师嘴里的数学跟数学家嘴里的数学其实不是一个东西。软件工程师说数学重要,数学家们一听就往往会产生一种虚假的自信,觉得自己如果去搞软件就能高人一筹。但其实真的去做软件了,就会发现好像不是那么回事,很多时候在敏锐性、简单性、工程性方面,数学家可能还做不过有经验的一般开发者。

    #aaaaaa 发表于2006-06-01 10:03:00  IP: 218.249.25.*
    一块他就是只会写是个人都会写得程序员,根本就不具备些什么底层,或者图形,或者算法,写一两个b/s或c/s程序,是个人都会的,没什么大不了的,因为那不是写软件,是coding而已
    #我坏我存在 发表于2006-06-01 17:35:00  IP: 221.237.35.*
    所谓数学,就是大数学家脑袋中想的那些事情
    所谓软件, 就是把头脑中那些想的事情实现起来
    数学与软件的关系就是鱼和水的关系,就是男人和女人的关系,男人怎样把女人的心一辈子留住,是需要思想和方法滴,当这个女人不会因为你穷,她的心也是你的,她对你来说就是一件完美的软件.

    哈哈~无聊的回复给有心的孙前辈~如有伤风雅,实在抱歉!
    #chinainvent 发表于2006-06-01 16:14:00  IP: 222.240.67.*
    数学可以与软件无关,如果我们可以闭上眼睛去写软件的话。
    #某人 发表于2006-06-01 18:10:00  IP: 218.18.115.*
    确实不知道说什么,难道是学数学学成这样了?
    即使你想连载,也要开个好头.
    这样没内容的开头还在主页上,真是失败
    #脂砚斋 发表于2006-06-01 19:48:00  IP: 221.137.78.*
    满纸荒唐言,一把辛酸泪,都云作者痴,谁解其中味。

    To collision
    软件工程师说数学重要,数学家们一听就往往会产生一种虚假的自信,觉得自己如果去搞软件就能高人一筹。但其实真的去做软件了,就会发现好像不是那么回事,很多时候在敏锐性、简单性、工程性方面,数学家可能还做不过有经验的一般开发者。

    我感打赌:von Neuman, Knuth, Turing这些人的C++水平和我没有可比性,就象我和他们没有可比性一样。
    #collision 发表于2006-06-01 19:54:00  IP: 219.236.54.*
    to 脂砚斋:
    >> 我感打赌:von Neuman, Knuth, Turing这些人的C++水平和我没有可比性,就象我和他们没有可比性一样。

    1. 说这么拙劣的话,你好意思吗?

    2. 你敢跟Knuth叫板C++,你知道羞耻吗?
    #manio 发表于2006-06-01 20:12:00  IP: 211.142.212.*
    5~讨论问题要注意言辞哦~
    #ALUCARD 发表于2006-06-01 21:02:00  IP: 219.135.46.*
    看了半天,都看不出作者想讲写什么,是想讲讲数学人的辛酸还是讨论数学基础对软件开发的重要性呢?!
    #我坏我存在 发表于2006-06-02 00:31:00  IP: 221.237.36.*
    作者先是引用是他研究生时期他受尊敬的一位老前辈曾说过的一些话儿,回首他的人生心路岁月的一些感慨之言,如我们大家再过几十年,还能记住当年恩师们的教诲,准确说现在就领误到其中比你年长的长辈们中话儿里的哲理那应该是个很不错的选折~

    ~回忆过去的成与败也是种很浪漫的享受ing~

    期待续文...................................


    那个说啥啥的牛人们和你怎么怎么的哥子,好无聊哦,你与其在这显摆还不如去看看A片解解你的乏味!呵呵
    #Road 发表于2006-06-01 23:01:00  IP: 58.33.227.*
    倒,我还以为会看到数学在软件开发中的作用呢。
    #wadefelix 发表于2006-06-02 08:58:00  IP: 202.117.114.*
    距离软件最近的数学就是线形代数啦
    随便说说
    #Robornet 发表于2006-06-02 08:41:00  IP: 211.148.135.*
    內容好像沒有表達題目的意思吧?
    #rainsz 发表于2006-06-12 00:38:00  IP: 219.236.28.*
    计算机系要学会的数学只有高数,离散,线代和概率吧。期待您的下一篇。
    #leonard 发表于2006-06-12 16:53:00  IP: 159.226.208.*
    我也是数学系毕业的,同样受到过数学的蹂躏
    #qzhou 发表于2006-06-23 11:07:00  IP: 61.152.132.*
    个人感觉,如果只是做最低端的编码,确实不需要什么数学知识。
    随着层次的提高,那么你会开始发现数学的作用了。游戏开发中常用的碰撞,光影,寻路,哪个不需要数学,不过很多游戏开发者直接用老外的引擎。很多高性能服务器,也需要深厚的数学功底,不让你如何优化。
    现在很多人说数学没用,那是因为目前所处的层次太低,仔细看看国外的软件,3D max,autocad,photoshop,虚幻引擎,哪个里面不是用了无穷多的数学。看看这些软件的售价,哪个不是万八美刀的,虚幻2引擎,75万美元一套。
    而我们这些不用数学的,永远处在软件价值链的最低端。
    #火狐设计 发表于2006-06-29 14:19:00  IP: 221.5.148.*
    我在这里十分赞赏qzhou的评论,我们现在基本上在用别人的框架,也就是处在价值链的底端,做的基本上都是一些coding的活。
    所以中国人还要努力呀
    #:) 发表于2006-07-03 15:39:00  IP: 211.93.37.*
    hehe。。。 如果说学数学是一种受蹂躏,那么我就是个自愿受躏的了。孙老师的一番话,不禁激起我的一些回想。。我不是学数学也不是学物理的。呵呵。。。高中时为了学习物理而完成了数学分析、空间解析几何和复分析。呵呵,上大学学后开始代数、实变、泛函逐一拿下,不过我不觉得怎么苦,因为我有物理的学习跟上作应用,而且对这些非常感兴趣。90年开始软件开发,数学对我的帮助是不可小看的,比如说,群表示论对我面向对象的思想形成有很好的很积极的作用。。。还有数学和软件对“精确”的苛求和回馈也具有很好的相似性。。。数学很美,软件同样也很美。。:)
    #xiaochuan 发表于2006-07-28 15:23:00  IP: 221.0.103.*
    collision的中文阅读水平太差了吧,语言不要太哪个啊,让人感觉素质太低了。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 孙辉