国外与国内,数学与计算机

    技术2022-05-11  250

    一点看法一点体会——作者:骄傲的中国人   其实很早就想写这遍文章了,趁有点时间,想把自己的感受说一 下。我的写作水平just so so,写english还好一点,因为不用象中 文那样,要注意那么多的修辞方式和文采,只需平铺直叙就行了。   可能我天生就是要注定学Computer的,因为从小学到现在,只有 两堂课是可以的——数学,英语。我那股凡事都要问个为什么的牛脾 气,更在学数学中体现得淋漓尽致。整天地查书,追问着同学,老师 每一条算式,定理的推算和证明,直到最后得知那是一条公理,才心 有不甘地停止了穷追猛打,甚至还想弄一些鬼点子来推翻公理。以至 同学、老师一见到我就觉得烦。可惜我学艺不精,小中大学都被选拔 参加过不少数学竞赛,却没有拿过一次理想的成绩。我那牛脾气也延 续都到写program中,几乎什么都喜欢自己implementation。所以我不 太喜欢VB,DELPHI,CBC,什么都用别人的Component。觉得有一种压 抑感,由于是从SDK学起的,所以Windows的机理也比较清晰,以前还 打算把MFC source codes改写成为自己的classes,可惜MFC实在庞大, 而且还在不断updated,以我一个人的能力完成了约1/3,已经精疲力尽 了。以前在国内一直梦想着能到Symantec 这样的公司做developer, 因为很想弄清楚为什么Norton能把Windows control 起来。   以前总觉得国外的programmer很厉害,若不是的话,为什么能开 发出这么多改变人类生活Software,但出来见识过了,才知道在技术 上,他们也不过如此,反而觉得国内的高手还多一些。也许这与教育 制度有关,国内普遍都认为只要数学学好了,计算机也就没问题了, 君不见国产的教科书都是以那些枯燥的数学问题来教导初学者。诚然, 数学思维对写code有莫大的帮助,我也是受益者,所以中国人写程序 在同等外界条件下(硬件,资料等)绝对比鬼佬强。但同时也带来了 严重的错误观念——“编程研究到一定程度,归根结底是数学问题”。 刚出来的时候,我也是这样认为。   我哥也是Master of Computer Science出身,由于他自己的努力, 还没到30岁,已经在3com总部担任Project manager了。他以前在silion valley 多间公司做过,包括Symantec。兄弟俩经常就computer的问 题进行讨论,他为了我能尽快适应silicon valley的文化,不断把不 少经验告诉我,使我收益非浅。发现其实是观念上的不同。这里认为 “编程研究到一定程度,归根结底是管理和人类发展的问题”。   一、管理问题: 其实写code在一个software product生产过程中只 占一小部分,关键在于如何使product占有market和有效管理整个pro- duct的开发过程。这学期在Project Management Course学习中,有两 点很有感受。   (1) At some point in the development, Better becomes the enemy of Good.      (2) Engineers are very good at taking more time and sp- ending  more money to make "better" than what the customer  ever wanted or has the time or money to pay for.      (3)一群水平一般的Engineers + 一个优秀,经验丰富的Manager >> 一群拔尖的Engineers。   而中国恰好在管理上缺乏优秀人才,制度和观念更是与silion  valley 的不能同日而语。因此,尽管国内优秀的programmer相当多, 但是只是一盘散沙,白白浪费掉。可叹的是有不少国人还白日做梦地 期盼着中关村能取代硅谷。若制度和观念不改变的话,即使把全国最 优秀的程序员聚积在中关村,也别想追上硅谷。另一个典型的例子, Linux 如今高唱入云,而且聚积了世界上许多优秀程序员的成果,但 是若它的开发和维护仍停留在以个人或小群体的基础上,没有系统性, 规范化。即使它的性能比Windows 要好许多,也只能成为那些发烧友 桌上的宠物,永远不能登大雅之堂!如今不少大公司加入其中,对它 开发和维护的管理有很大帮助,才有可能向microsoft叫板!   二、人类发展从计算机技术的发展历史来看,计算机最终解决的 是人类发展问题,而不是数学问题。很简单的例子就是,Programming Language的发展,asm-> c-> c++-> java-> CORBA(注意:CORBA不 是一种语言)   可以看到这样的发展,主要是为了方便一个Software,一个Pro- duct 的更有效的开发和应用。简单地说,c使程序员摆脱了机器语言 的苦涩,c++(也可以说Object-oriented Languages)使产品的组成、 开发、维护更符合人类的思维方式,java在Internet流行的这个年代, 顺理成章地成为了宠儿,CORBA更是进了一大步,承诺Language-inde- pendence,  Platform-independence,  Location-independence。已 经是相当成熟的Distributed Object Computing。看了许多CORBA 的 书,颇有感叹,CORBA应该说是人类思维的发展的一个体现。同时, 为中国计算机的研究无奈!这里的研究可以说是以人为本,为的是在 整体上运用计算机促进人类发展,而国内的研究更多的是在于算法等 局部,微观的研究,这方面虽然是必要,但在观念上可以看得出人家 已经高一个层次了。不夸张地说,silicon valley,它有自己独特的 文化,在这里,不但可以看到到计算机技术的飞速发展,同时也从中 感受到人类思维的发展。这也是为什么要独立开办一个Computer science  department的缘故。毕竟,数学与计算机有紧密联系,但同时也有许 多本质的不同。   以上是我出国后感觉到的不同,归根到底就是两个字:“观念”。 这也是我一家之言,盼能与大伙讨论一下,为中国的计算机发展出一 分绵力。 

    最新回复(0)