一點看法, 一點體會 -- 國外與國內,數學與計算機 (轉)

worldblog發表於2007-12-04
一點看法, 一點體會 -- 國外與國內,數學與計算機 (轉)[@more@]

一點看法, 一點體會 -- 國外與國內,數學與
By crazy (驕傲的中國人)


經過幾個通宵(也許這就是有不少人以為我整天在網上的緣故吧),今天 終於完成了一個project,雖然還有兩個project,但心情還是暫時輕鬆了 一些。其實很早就想寫這遍文章了,趁有點時間,想把自己的感受說一下。 不過,我的寫作水平just so so,寫english還好一點,因為不用象中文 那樣,要注意那麼多的修辭方式和文采,只需平鋪直敘就行了。

可能我天生就是要註定學Computer的,因為從小學到現在,只有兩堂課是 可以的--數學,英語。我那股凡事都要問個為什麼的牛脾氣,更在學數學 中體現得淋漓盡致 :) 整天地查書,追問著同學,老師每一條算式,定理 的推算和證明,直到最後得知那是一條公理,才心有不甘地停止了窮追猛 打,甚至還想弄一些鬼點子來推翻公理。以至同學,老師一見到我就覺得 煩 :P 可惜我學藝不精,小中大學都被選拔參加過不少數學競賽,卻沒有 拿過一次理想的成績 :( 我那牛脾氣也延續到寫program中,幾乎什麼 都喜歡自己implementation.所以我不太喜歡VB,,BCB,什麼都用 別人的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的問題進行討論, 他為了我能儘快適應silion valley的文化,不斷把不少告訴我,使我 收益非淺。發現其實是觀念上的不同。這裡認為“程式設計研究到一定程度, 歸根結底是管理和人類發展的問題”。

1)管理問題:
其實寫code在一個software product生產過程中只佔一小部份,關鍵在於 如何使product佔有market和有效管理整個product的開發過程。這學期在 Project Management Course學習中,有3點很有感受。
(1) At some point in the development, Better becomes the enemy of Good.
(2) Engineers are very good at taking more time and spending more money to make "better" than the customer ever wanted or has the time or money to pay for.
(3) 一群水平一般的Engineers + 一個優秀,經驗豐富的Manager >> 一群拔尖的Engineers。

而中國恰好在管理上缺乏優秀人才,制度和觀念更是與silion valley的 不能同日而語。因此,儘管國內優秀的programmer相當多,但是隻是一盤 散沙,白白浪費掉。可嘆的是有不少國人還白日做夢地期盼著中關村能取 代矽谷。若制度和觀念不改變的話,即使把全國最優秀的程式設計師聚積在中 關村,也別想追上矽谷。另一個典型的例子,如今高唱入雲,而且 聚積了世界上許多優秀程式設計師的成果,但是若它的開發和維護仍停留在以 個人或小群體的基礎上,沒有性,規範化。即使它的比Windows 要好許多,也只能成為那些發燒友桌上的寵物,永遠不能登大雅之堂!如 今不少大公司加入其中,對它開發和維護的管理有很大幫助,才有可能向 叫板!

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

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

/Crazyjava(驕傲的中國人)

-- 孤身走我路...
其實,路,兩個人一起走比一個人要好。
e:
 


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

相關文章