國外與國內,數學與計算機 (轉)

worldblog發表於2007-12-04
國外與國內,數學與計算機 (轉)[@more@]一點看法一點體會——作者:驕傲的中國人

  其實很早就想寫這遍文章了,趁有點時間,想把自己的感受說一
下。我的寫作水平just so so,寫english還好一點,因為不用象中
文那樣,要注意那麼多的修辭方式和文采,只需平鋪直敘就行了。

  可能我天生就是要註定學Computer的,因為從小學到現在,只有
兩堂課是可以的——數學,英語。我那股凡事都要問個為什麼的牛脾
氣,更在學數學中體現得淋漓盡致。整天地查書,追問著同學,老師
每一條算式,定理的推算和證明,直到最後得知那是一條公理,才心
有不甘地停止了窮追猛打,甚至還想弄一些鬼點子來推翻公理。以至
同學、老師一見到我就覺得煩。可惜我學藝不精,小中大學都被選拔
參加過不少數學競賽,卻沒有拿過一次理想的成績。我那牛脾氣也延
續都到寫program中,幾乎什麼都喜歡自己implementation。所以我不
太喜歡VB,,CBC,什麼都用別人的Component。覺得有一種壓
抑感,由於是從SDK學起的,所以的機理也比較清晰,以前還
打算把MFC codes改寫成為自己的classes,可惜MFC實在龐大,
而且還在不斷updated,以我一個人的能力完成了約1/3,已經精疲力盡
了。以前在國內一直夢想著能到 這樣的公司做developer,
因為很想弄清楚為什麼能把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相當多,
但是隻是一盤散沙,白白浪費掉。可嘆的是有不少國人還白日做夢地
期盼著中關村能取代矽谷。若制度和觀念不改變的話,即使把全國最
優秀的程式設計師聚積在中關村,也別想追上矽谷。另一個典型的例子,
如今高唱入雲,而且聚積了世界上許多優秀程式設計師的成果,但
是若它的開發和維護仍停留在以個人或小群體的基礎上,沒有性,
規範化。即使它的比Windows 要好許多,也只能成為那些發燒友
桌上的寵物,永遠不能登大雅之堂!如今不少大公司加入其中,對它
開發和維護的管理有很大幫助,才有可能向叫板!

  二、人類發展從計算機技術的發展歷史來看,計算機最終解決的
是人類發展問題,而不是數學問題。很簡單的例子就是,Programming
Language的發展,asm-> c-> c++-> -> (注意:CORBA不
是一種語言)

  可以看到這樣的發展,主要是為了方便一個Software,一個Pro-
duct 的更有效的開發和應用。簡單地說,c使程式設計師擺脫了機器語言
的苦澀,c++(也可以說-oriented Languages)使產品的組成、
開發、維護更符合人類的思維方式,java在Inte流行的這個年代,
順理成章地成為了寵兒,CORBA更是進了一大步,承諾Language-inde-
pendence,  Platform-independence,  Location-independence。已
經是相當成熟的Distributed Object Computing。看了許多CORBA 的
書,頗有感嘆,CORBA應該說是人類思維的發展的一個體現。同時,
為中國計算機的研究無奈!這裡的研究可以說是以人為本,為的是在
整體上運用計算機促進人類發展,而國內的研究更多的是在於演算法等
區域性,微觀的研究,這方面雖然是必要,但在觀念上可以看得出人家
已經高一個層次了。不誇張地說,silicon valley,它有自己獨特的
文化,在這裡,不但可以看到到計算機技術的飛速發展,同時也從中
感受到人類思維的發展。這也是為什麼要獨立開辦一個Computer science 
department的緣故。畢竟,數學與計算機有緊密聯絡,但同時也有許
多本質的不同。

  以上是我出國後感覺到的不同,歸根到底就是兩個字:“觀念”。
這也是我一家之言,盼能與大夥討論一下,為中國的計算機發展出一
分綿力。 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987855/,如需轉載,請註明出處,否則將追究法律責任。

相關文章