2023年程序員的十層樓_第1頁
2023年程序員的十層樓_第2頁
2023年程序員的十層樓_第3頁
2023年程序員的十層樓_第4頁
2023年程序員的十層樓_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

自西方文藝復興以來,中國在自然科學方面落后西方很多,軟件領?域也不例外。當然現(xiàn)在中國的許多程序員們對此也許有許多不同的?意見,有些人認為中國的程序員水平遠落后于西方,有些則認為中

國的程序員個人能力并不比西方的程序員差,只是整個軟件產業(yè)落?后而已。那么,到底中國的程序員水平比西方程序員水平差,還是中國有許?多優(yōu)秀的程序員達成或超過了西方程序員同等水平呢?要解決這個

問題,必須先知道程序員有多少種技術層級,每個層級需要什么樣?的技術水平,然后再比較中國和西方在各個技術層級的人數(shù),就可

以知道到底有沒有差距,差距有多大。當然,對于如何劃分程序員的技術層級,不同公司或不同人會有不

同的劃分標準,下面的劃分僅代表個人的觀點,如有不妥之處,還?請砸板磚予以糾正。第1層菜鳥第1層樓屬于地板層,邁進這層樓的門檻是很低的。基本上懂計算

機的基本操作,了解計算機專業(yè)的一些基礎知識,掌握一門基本的?編程語言如C/C++,或者Java,或者JavaScript,…,均可入門邁

進這層。在這層上,中國有著絕對的優(yōu)勢,除了從計算機專業(yè)畢業(yè)的眾多人?數(shù)外,尚有大量的通信、自動化、數(shù)學等相關專業(yè)的人士進入這一

行,此外尚有眾多的其他專業(yè)轉行的人士,人數(shù)絕對比西方多余甚

多。并且尚有一個優(yōu)勢就是我們這層人員的平均智商比西方肯定高?。沒有多少人樂意一輩子做菜鳥,由于做”菜鳥”的滋味實在是不咋的?,整天被老大們吆喝著去裝裝機器,搭建一下測試環(huán)境,或者對照?著別人寫好的測試用例做一些黑盒測試,好一點的可以被安排去寫

一點測試代碼。當然假如運氣”好”的話,碰到了國內的一些作坊式?的公司,也有機會去寫一些正式的代碼。所以,菜鳥們總是在努力學習,希望爬更高的一層樓去。第2層大蝦從第1層爬到第2層相對容易一些,以C/C++程序員為例,只要純熟?掌握C/C++編程語言,掌握C標準庫和常用的各種數(shù)據(jù)結構算法,掌

握STL的基本實現(xiàn)和使用方法,掌握多線程編程基礎知識,掌握一

種開發(fā)環(huán)境,再對各種操作系統(tǒng)的API都去使用一下,搞網(wǎng)絡編程的?當然對socket編程要好好掌握一下,然后再學習一些面向對象的設

計知識和設計模式等,學習一些測試、軟件工程和質量控制的基本

知識,大部分人通過2~3年的努力,都可以爬到第2層,晉升為”大?蝦”。中國的”大蝦”數(shù)量和”菜鳥”數(shù)量估計不會少多少,所以這層上仍然

遠領先于西方。大蝦們通常還是有些自知之明,知道自己只能實現(xiàn)一些簡樸的功能

,做不了大的東西,有時候還會碰到一些疑難問題給卡住,所以他

們對那些大牛級的人物通常是非常崇敬的,國外的如RobertC.?Martin、LinusTorvalds,國內的如求伯君、王志東等通常是他們崇

拜的對象。其中的有些人希望有一天也能達成這些大牛級人物的水?平,所以他們繼續(xù)往樓上爬去。第3層牛人由于”大蝦”們經常被一些疑難問題給卡住,所以有了”大蝦”們只好

繼續(xù)學習,他們需要將本來所學的知識進一步純熟掌握,比如以熟

練掌握C++編程語言為例,除了學一些基礎性的C++書籍如《C++?Primer》,《EffectiveC++》,《ThinkinC++》,《Exception?C++》等之外,更重要的是需要了解C++編譯器的原理和實現(xiàn)機制

,了解操作系統(tǒng)中的內部機制如內存管理、進程和線程的管理機制

,了解解決器的基礎知識和代碼優(yōu)化的方法,此外還需要更進一步地

學習更多的數(shù)據(jù)結構與算法,掌握更進一步的測試和調試知識以及質

量管理和控制方法,對各種設計方法有更好的理解等。學習上面說的這些知識不是一揮而就的,不看個三五十本書并掌握?它是做不到的。以數(shù)據(jù)結構算法來說,至少要看個5~10本這方面

的著作;以軟件設計來說,光懂結構化設計、面向對象設計和一些

設計模式是不夠的,還要了解軟件架構設計、交互設計、面向方面?的設計、面向使用的設計、面向數(shù)據(jù)結構算法的設計、情感化設計

等,否則是很難進到這個樓層的。當然除了上面說的知識外,大蝦們還需要去學習各種經驗和技巧。

當然這點難不倒他們,現(xiàn)在出版的書籍眾多,網(wǎng)絡上的技術文<-*和

諧*->更是不勝數(shù),然后再去各種專業(yè)論壇里泡一泡,把這些書籍

和文<-*和諧*->中的各種經驗、技能、技巧掌握下來,再去學習一

些知名的開源項目如Apache或Linux操作系統(tǒng)的源代碼實現(xiàn)等。此

時對付一般的疑難問題通常都不在話下,菜鳥和大蝦們會覺得你很”

牛”,你也就爬到了第3層,晉升為”牛人”了。看了上面所講的規(guī)定,也許有些大蝦要暈過去了,成為牛人要學這

么多東西??!規(guī)定是不是太高了?其實規(guī)定一點也不高,這么點東

西都掌握不了的話,怎么能讓別人覺得你”牛”呢?需要提一下的是,進入多核時代后,從第2層爬到第3層增長了一道?多核編程的門檻。當然要邁過這道門檻并不難,已有很多前輩高

人邁進了這道門檻,只要循著他們的足跡前進就可以了。想邁進這?道門檻者不妨去學習一下TBB開源項目的源代碼(鏈接:?),然后上Intel的博客?(http://softwareblogs-zho.intel.com/)和多核論壇?()去看看相關文<-*

和諧*->,再買上幾本相關的書籍學習一下。在國內,一旦成為”牛人”,通??梢缘皆S多知名的公司里去,運氣

好者可以掛上一個架構師的頭銜,甚至掛上一個”首席架構師”或者”?首席xx學家”的頭銜也局限性為奇。有不少爬到這層的人就認為到了樓

頂了,可以眼睛往天上看了,開始目空一切起來,認為自己什么都?可以做了,什么都懂了,經常在網(wǎng)絡上亂砸板磚是這個群體的最佳

寫照。由此也看出,國內的牛人數(shù)量仍然眾多,遠多于西方的牛人?數(shù)量,在這層上仍然是領先的。也有不少謙虛的”牛人”,知道自己現(xiàn)在還不到半桶水階段。他們深?知爬樓的游戲就像猴子上樹同樣,往下看是笑臉,往上看是屁股。?為了多看笑臉,少看屁股,他們并沒有在此停步不前,而是繼續(xù)尋?找到更上一層的樓梯,以便繼續(xù)往上爬。第4層大牛從第3層爬到第4層可不像上面說過的那幾層同樣容易,要成為大牛

的話,你必須要能做牛人們做不了的事情,解決牛人們解決不了問

題。比如牛人們通常都不懂寫操作系統(tǒng),不會寫編譯器,不懂得

TCP/IP協(xié)議的底層實現(xiàn),假如你有能力將其中的任何一個實現(xiàn)得象

模象樣的話,那么你就從牛人升級為”大牛”了。當然,由于各個專業(yè)領域的差別,這里舉操作系統(tǒng)、編譯器、?TCP/IP協(xié)議只是作為例子,并不代表成為”大?!币欢ㄐ枰莆者@些

知識,以時下熱門的多核編程來說,假如你能比牛人們更進一步地掌?握其中的各種思想原理,能更加自如的運用,并有能力去實現(xiàn)一個?象開源項目TBB庫同樣的東西,也可以成為”大?!?,又或者你能寫

出一個類似Apache同樣的服務器,或者寫出一個數(shù)據(jù)庫,都可以成?為”大?!?。要成為”大牛”并不是一件簡樸的事情,需要付出比牛人們多得多的?努力,一般來說,至少要看過200~400本左右的專業(yè)書籍并好好掌?握它,除此之外,還得經常關注網(wǎng)絡和期刊雜志上的各種最新信息?。當”牛人”晉升為”大?!?讓”牛人們”發(fā)現(xiàn)有比他們更牛的人時,對”

牛人”們的心靈的震撼是可想而知的。由于牛人們的數(shù)量龐大,并且

牛人對大蝦和菜鳥階層有言傳身教的影響,所以大牛們通常能獲得?非常高的社會知名度,幾乎可以用”引無數(shù)菜鳥、大蝦、牛人競折腰

”來形容,看看前面提過的LinusTorvalds等大牛,應當知道此言不?虛。雖然成為”大牛”的條件看起來似乎很高似的,但是這層樓并不是很

難爬的一層,只要通過一定的努力,素質不是很差,還是有許多”牛

人”可以爬到這一層的。由此可知,”大牛”這個樓層的人數(shù)其實并不

像想像的那么少,例如比爾?蓋茨之類的人仿佛也是屬于這一層的。由于”大?!边@層的人數(shù)不少,所以也很難記錄除到底是中國的”大牛?”數(shù)量多還是西方的大牛數(shù)量多?我估計應當是個旗鼓相稱的數(shù)量,?或者中國的”大牛”們會更多一些??吹竭@里,也許會有很多人會認為我在這里說瞎話,LinusTorvalds?寫出了著名的Linux操作系統(tǒng),我國并沒有人寫出過類似的東西啊,

我國的”大牛”怎么能和西方的比呢?不知大家注意到沒有,Linus

Torvalds只是寫出了一個”象模象樣”的操作系統(tǒng)雛形,Linux后來真?正發(fā)展成聞名全球的開源操作系統(tǒng)期間,完全是由于許多支持開源

的商業(yè)公司如IBM等,派出了許多比LinusTorvalds更高樓層的幕后?英雄在里面把它開發(fā)出來的。也許有些菜鳥認為LinusTorvalds是程序員中的上帝,不妨說個小故?事:Linus,RichardStallman和DonKnuth(高德納)一同參與一個會?議。Linus說:”上帝說我發(fā)明了世界上最優(yōu)秀的操作系統(tǒng)?!盧ichardStallman自然不甘示弱地說:”上帝說我發(fā)明了世界上最佳

用的編譯器。”DonKnuth一臉疑惑的說:”等等,等等,我什么時候說過這些話??”由此可以看出,LinusTorvalds的技術水平并不像想像中那么高,只?是”牛人”和”大蝦”覺得”大牛”比他們更牛吧了。在我國,有一些當時?還處在”大蝦”層的人物,也能寫出介紹如何寫操作系統(tǒng)的書,并且

書寫得非常杰出,并且寫出了一個有那么一點點象模象樣的操作系?統(tǒng)來。我想中國的”大?!眰兪遣粫任鞣讲畹模詻]有人寫出

類似的商業(yè)產品來,完全是社會環(huán)境的因素,并不是技術能力達不

到的因素?!按笈!眰冎猿蔀榇笈?,重要的因素是由于把”牛人”給蓋了下去

,并不是他們自己覺得如何牛。也許有很多菜鳥、大蝦甚至牛人覺?得”大?!边@層已經到頂了,但大多數(shù)”大牛”估計應當是有自知之明?的,他們知道自己現(xiàn)在還沒有爬到半山腰,也就勉強能算個半桶水?的水平,其中有些爬到這層沒有累趴下,仍然能量充沛,并且又有?志者,還是會繼續(xù)往更上一層樓爬的。看到這里,也許有些菜鳥、大蝦、牛人想不明白了,尚有比”大?!?們更高的樓層,那會是什么樣的樓層?下面就來看看第5層樓的奧?妙。第5層專家當大牛們真正動手做一個操作系統(tǒng)或者類似的其他軟件時,他們就?會發(fā)現(xiàn)自己的基本功仍然有很多的局限性。以內存管理為例,假如直?接抄襲Linux或者其他開源操作系統(tǒng)的內存管理算法,會被人看不

起的,假如自動動手實現(xiàn)一個內存管理算法,他會發(fā)現(xiàn)現(xiàn)在有關內?存管理方法的算法數(shù)量眾多,自己并沒有所有學過和實踐過,不知

道到底該用那種內存管理算法??吹竭@里,也許有些人已經明白第5層樓的奧妙了,那就是需要做?基礎研究,當然在計算機里,最重要的就是”計算”二字,程序員要

做基礎研究,重要的內容就是研究非數(shù)值”計算”。非數(shù)值計算可是一個非常龐大的領域,不僅時下熱門的”多核計算”?與”云計算”屬于非數(shù)值計算范疇,就是軟件需求、設計、測試、調

試、評估、質量控制、軟件工程等本質上也屬于非數(shù)值計算的范疇

,甚至芯片硬件設計也同樣牽涉到非數(shù)值計算。假如你還沒有真正?領悟”計算”二字的含義,那么你就沒有機會進到這層樓來。也許有人仍然沒有明白為什么比爾·蓋茨被劃在了大牛層,沒有進到?這層來。雖然比爾·蓋茨大學未畢業(yè),學歷不夠,但是家有藏書2萬?余冊,進入軟件這個行業(yè)比絕大部分人都早,撇開他的商業(yè)才干不?談,即使只看他的技術水平,也可以算得上是學富五車,頂上幾個?普通的計算機軟件博士之和是沒有問題的,比起LinusTorvalds之?類的”大?!眰儜敿几咭换I才對,怎么還進不了這層樓呢?非常遺憾的是,從Windows操作系統(tǒng)的實現(xiàn)來看,其對計算的理解

是很膚淺的,假如把Google對計算方面的理解比做大學生,比爾·蓋

茨只能算做一個初中生,所以比爾·蓋茨永遠只能做個大牛人,成不?了”專家”??吹竭@里,也許國內的大牛們要快樂起來了,本來比爾·蓋茨也只和

我等在同一個層次,只要再升一層就可以超越比爾·蓋茨了。但是爬

到這層可沒有從”牛人”升為”大?!蹦敲春啒?,人家比爾·蓋茨都家有

2萬多冊書,讓你看個500~1000本以上的專業(yè)書籍并掌握好它應當

規(guī)定不高吧。當然,這并不是重要的條件,更重要的是,需要到專?業(yè)的學術站點去學習了,到ACM,IEEE,Elsevier,SpringerLink,?SIAM等地方去下載論文應當成為你的定期功課,使用Google搜索引?擎中的學術搜索更是應當成為你的平常必修課。此外,你還得經常

關注是否有與你研究相關的開源項目冒出來,例如當聽到有TBB這

樣針對多核的開源項目時,你應當?shù)谝粫r間到Google里輸入”TBB”

搜索一下,將其源代碼下載下來好好研究一番,這樣也許你的一只?腳已經快邁進了這層樓的門檻。當你象我上面說的那樣去做了以后,隨著時間的推移,總會有某天?,你發(fā)現(xiàn),在很多小的領域里,你已經學不到什么新東西了,所有?最新出來的研究成果你幾乎都知道。此時你會發(fā)現(xiàn)你比在做”牛人”?和”大牛”時的水平不知高出了多少,但是你一點也”?!辈黄饋?因

為你學的知識和思想都是別人提出來的,你自己并沒有多少自己的?知識和思想分享給別人,所以你還得繼續(xù)往樓上爬才行。我不知道國內的”專家”到底有多少,但是有一點可以肯定的是,如?果把那些專門蒙大家的”磚家”也算上的話,我們的磚家比西方的要?多得多。第6層學者當”專家”們想繼續(xù)往上一層樓爬時,他們幾乎一眼就可以看到樓梯?的入口,但是令他們吃驚的是,樓梯入口處豎了一道高高的門檻,

上面寫著”創(chuàng)新”二字。不幸的是,大多數(shù)人在爬到第5層樓時已經體

能消耗過度,無力翻過這道門檻。有少數(shù)體能充足者,可以容易翻越這道門檻,但是并不意味著體力

消耗過度者就無法翻越,由于你只是暫時還沒有掌握恢復體能的方

法而已,當掌握了恢復體能的方法,將體能恢復后,你就可以容易

地翻越這道門檻了。怎么才干將體能恢復呢?我們的老祖宗”孔子”早就教導過我們”溫故?而知新”,在英文里,研究的單詞是”research”,其前綴”re”和”?search”分別是什么意思不用我解釋吧。或許有些人覺得”溫故而知

新”和”research”有些抽象,不好理解,我再給打個簡樸的比方,比?如你在爬一座高山,爬了半天,半途體力不支,怎么恢復體力呢?

自然是休息一下,重新進食一些食物,體力不久就可以得到恢復。由此可知,對體能消耗過度者,休息+重新進食通常是恢復體能的?最佳選擇。可惜的是,國內的老板們并不懂得這點,他們的公司里

不僅連正常國家規(guī)定的休息時間都不給足,有些公司甚至有員工”

過勞死”出現(xiàn)。所以國內能翻越”創(chuàng)新”這道門檻的人是”少之又少”,

和西方比起來估計是數(shù)量級的差別。再說說重新進食的問題,這個重新進食是有講究的,需要進食一些?基礎性易消化的簡樸食物,不能進食山珍海味級的復雜食物,否則?很難快速吸取。以查找為例,并不是去天天盯著那些復雜的查找結?構和算法進行研究,你需要做的是將二分查找、哈希查找、普通二?叉樹查找等基礎性的知識好好地復習幾遍。以哈希查找為例,一方面你需要去將各種沖突解決方法如鏈式結構、

二次哈希等編寫一遍,再試試不同種類的哈希函數(shù),然后還需要試?試在硬盤中如何實現(xiàn)哈希查找,并考慮數(shù)據(jù)從硬盤讀到內存后,如

何組織硬盤中的數(shù)據(jù)才干快速地在內存中構建出哈希表來,…,這

樣你也許需要將一個哈希表寫上十幾個不同的版本,并比較各個版

本的性能、功能方面的區(qū)別和合用范圍。總之,對任何一種簡樸的東西,你需要考慮各種各樣的需求,以需

求來驅動研究。最后你將各種最基礎性的查找結構和算法都了然于?胸后,或許某天你再看其他更復雜的查找算法,或者你在散步時,

腦袋里靈光一現(xiàn),忽然間就發(fā)現(xiàn)了更好的方法,也就從專家晉升為”?學者”了。學者所做的事情,通常都是在前人的基礎上,進行一些小的優(yōu)化和

改善,例如別人發(fā)明了鏈式基數(shù)排序的方法,你第1個發(fā)現(xiàn)使用一?定的方法,可以用數(shù)組替代鏈表進行基數(shù)排序,性能還能得到進一?步提高。由于學者需要的只是一些小的優(yōu)化改善,因此中國還是有一定數(shù)量

的學者。但是和國外的數(shù)量比起來,估計少了一個數(shù)量級而已。也許有人會覺得現(xiàn)在中國許多公司申請專利的數(shù)量達成甚至超過西

方發(fā)達國家了,我們的學者數(shù)量應當不會比他們少多少。因此,有

必要把專利和這里說的創(chuàng)新的區(qū)別解釋一下。所謂專利者,只要是以前沒有的,新的東西,都可以申請專利;甚

至是以前有的東西,你把他用到了一個新的領域的產品里去,也可?以申請專利。比如你在房子里造一個水泥柱子,只要以前沒有人就

這件事申請專利,那么你就可以申請專利,并且下次你把水泥柱子?挪一個位置,又可以申請一個新的專利;或者你在一個柜子上打上?幾個孔,下次又把孔的位置改一改,…,均可申請專利。這層樓里所說的創(chuàng)新,是指學術層面的創(chuàng)新,是基礎研究方面的創(chuàng)?新,和專利的概念是完全不同的,難度也是完全不同的。你即使申?請了一萬個象那種打孔一類的專利,加起來也夠不到這層樓里的一

個創(chuàng)新。當你爬到第6層樓時,你也許會有一種突破極限的快感,由于你終?于把那道高高的寫著”創(chuàng)新”二字的門檻給翻過去了,實現(xiàn)了”0″的突?破。這時,你也許有一種”獨上高樓,欲望盡天涯路”的感覺,但是?不久你會發(fā)現(xiàn)看到的都是比較近的路,遠處的路主線看不清楚。如?果你尚有足夠的體力的話,你會想爬到更高一層的樓層去。第7層大師從第6層樓爬到第7層樓,并沒有多少捷徑可走,重要看你有沒有足

夠的能量。你假如能象Hoare同樣設計出一個快速排序的算法;或?者象EugeneW.Myers同樣設計出了一個用編輯圖的最短途徑模型來?解決diff問題的算法;或者象M.J.D.Powell同樣提出了一個可以解決?非線性規(guī)劃問題的SQP方法;或者你發(fā)現(xiàn)基于比較的排序算法,它?的復雜度下界為O(NLogN);或者你發(fā)現(xiàn)用棧可以將遞歸的算法變成?非遞歸的;或者你設計出一個紅黑樹或者AVL樹之類的查找結構;

或者你設計出一個象C++或Java同樣的語言;或者你發(fā)明了UML;?…,你就爬到了第7層,晉升為”大師”了。上面舉的這些例子中,其中有些人站的樓層比這層高,這里只是為?了形象說明而舉例他們的某個成就。從上面列出的一些大師的奉獻?可以看出,成為大師必須要有較大的奉獻。一方面解決問題必須是比?較重要的,另一方面你要比前輩們在某方面有一個較大的提高,或者你

解決的是一個全新的以前沒有解決過的問題;最重要的是,重要的

思緒和方法必須是你自己提供的,不再是在別人的思緒基礎上進行?的優(yōu)化和改善??戳松厦孢@些規(guī)定,假如能量不夠的話,你也許會覺得有些困難,

所以不是每個人都能成為”大師”的。中國軟件業(yè)里能稱得上是”大師?”的人,用屈指可數(shù)來形容,估計是綽綽有余。值得一提得是,國外

的”大師”就象我們的”大牛”同樣滿天飛的多。我把我猜測本國有也許進到這層樓的大師列一下,以起個拋磚引玉

的作用。漢王的”手寫辨認”技術由于是完全保密的,不知道它里面?用了什么思想,原創(chuàng)思想占的比重有多少,因此不知道該把它劃到

這層樓還是更高一層樓去。原山東大學王小云專家破解DES和MD5

算法時,用到的方法不知道是不是完全原創(chuàng)的,如果是的話也可進?到這層樓來。陳景潤雖然沒有徹底解決哥德巴赫猜想,但他在解決問題時所用的?方法是創(chuàng)新的,因此也可以進到這層樓來。當然,假如能徹底解決?哥德巴赫猜想,那么可以算到更高的樓層去。求伯君和王志東等大牛們,他們在做WPS和表格解決之類的軟件時

,不知是否有較大的原創(chuàng)算法在里面,假如有的話就算我錯把他們

劃到了大牛層。由于所學有限,不知道國內尚有那些人可以得上”

大師”的級別,或許有少量做研究的專家、院士們,可以達成這個級?別,有知道的不妨回個帖子晾一晾。鑒于”大師”這個稱號的光環(huán)效應,相信有不少人夢想著成為”大師”??;蛟S你看了前面舉的一些大師的例子,你會覺得要成為大師非常?困難。不妨說一下,現(xiàn)在有一條通往”大師”之路的捷徑打開了,那

就是多核計算領域,有大量的處女地等待大家去挖掘。以前在單核時代開發(fā)的各種算法,現(xiàn)在都需要改寫成并行的。數(shù)據(jù)?結構與算法、圖像解決、數(shù)值計算、操作系統(tǒng)、編譯器、測試調試?等各個領域,都存在大量的機會,可以讓你進到這層樓來,甚至有

也許讓你進到更高一層樓去。第8層科學家科學家向來都是一個神圣的稱號,因此我把他放在了“大師”之上。?要成為科學家,你的奉獻必須超越大師,不妨隨便舉一些例子。假如你象Dijkstra同樣設計了ALGOL語言,提出了程序設計的三種基

本結構:順序、選擇、循環(huán),那么你可以爬到第8層樓來。順便說?一下,即使拋開這個成果,Dijkstra憑他的PV操作和信號量概念的

提出,同樣可以進到這層樓。假如你象DonKnuth同樣,是數(shù)據(jù)結構與算法這門學科的重要奠基

者,你也可以進到這層樓來。當然,數(shù)據(jù)結構和算法這門學科不是

某個人開創(chuàng)的,是許多大師和科學家集體開創(chuàng)的。假如你象巴科斯同樣發(fā)明了Fortran語言,并提出了巴科斯范式,對?高級程序語言的發(fā)展起了重要作用,你也可以進到這層樓來?;蛘吣阆驥enThompson、DennisRitchie同樣發(fā)明了Unix操作系統(tǒng)

和功能強大、高效、靈活、表達力強的C語言,對操作系統(tǒng)理論和

高級編程語言均作出重大奉獻,那么你也可以進到這層樓來?;蛘吣阌蠪rederickP.Brooks同樣機會,可以去領導開發(fā)IBM的大型

計算機System/360和OS/360操作系統(tǒng),并在失敗后反思總結,寫?出《人月神話》,對軟件工程作出里程碑式的奉獻,你也可以進到?這層來?;蛘吣闾岢隽嗣嫦驅ο笤O計的基本思想,或者你設計了互聯(lián)網(wǎng)的?TCP/IP協(xié)議,或者你象StevenA.Cook同樣奠定NP完全性的理論基

礎,或者你象FrancesAllen同樣專注于并行計算來實現(xiàn)編譯技術,?在編譯優(yōu)化理論和技術取得基礎性的成就,…,均可進入這層。當然,假如你發(fā)明了C++語言或者Java語言,你進不到這層來,因?為你用到的重要思想都是這層樓中的科學家提出的,你自己并沒有

沒有多少原創(chuàng)思想在里面。看了上面列出的科學家的成就,你會發(fā)現(xiàn),要成為“科學家”,通常?要開創(chuàng)一門分支學科,或者是這個分支學科的奠基者,或者在某個?分支學科里作出里程碑式的重大奉獻。假如做不到這些的話,那么

你能象AndrewC.Yao(姚期智)同樣在對計算理論的多個方向如偽?隨機數(shù)生成,密碼學與通信復雜度等各個方向上作出重要奉獻,成

為集大成者,也可以進入這層樓。成為“科學家”后,假如你有幸象Dijkstra同樣,出現(xiàn)在一個非常重視?科學的國度。當你去世時,你家鄉(xiāng)滿城的人都會自動地去為你送葬?。但是假如不幸生錯地方的話,能不挨“板磚”估計就算萬幸了。從上面隨便舉的一些例子中,你也許能猜到,西方科學家的數(shù)量是?非常多的,于是你會想中國應當也有少量的科學家吧?我可以很負?責任地告訴你一個不幸的結果,中國本土產生的科學家的數(shù)量為0

。目前在國內,軟件領域的唯一的科學家就是上面提過的姚期智,

還是國外請回來的,并不是本土產生的。也許你不批準我說的本土科學家數(shù)量為0的結論,由于你經常看到?有許多公司里都有所謂“首席XX科學家”的頭銜。我想說的是,這些

所謂的“首席XX科學家”都是遠遠夠不到這層樓的級別的,有些人的?水平估計也就是一個“牛人”或“大牛”的級別,好一點的最多也就一?個“學者”的級別。特別是那些被稱作“首席經X學家”的,基本上可以

把稱號改為“首席坑大家”。雖然我國沒有人能爬到這層樓上來,但是西方國家仍然有許多人爬

到了比這層更高的樓上。假如要問我們比西方落后多少?那么可以?簡樸地回答為:“落后了三層樓”。下面就來看看我們做夢都沒有到

過的更高一層樓的秘密。第9層大科學家進入這層樓的門檻通常需要一些運氣,比如某天有個蘋果砸到你頭?上時,你恰巧發(fā)現(xiàn)了萬有引力,那么你可以進到這層樓來。當然,

萬有引力幾百年前就被人發(fā)現(xiàn)了,假如你現(xiàn)在到處嚷嚷著說你發(fā)現(xiàn)?了萬有引力,恐怕立即會有人打110,然后警察會把你送到不正常?人類的聚集地去。因此,這里舉萬有引力的例子,只是說你要有類?似的成就才干進到這層樓來。牛頓發(fā)現(xiàn)萬有引力定律開創(chuàng)了經典物理運動力學這門學科,假如你?也能開創(chuàng)一門大的學科,那么你就從科學家晉升為“大科學家”。比

如愛因斯坦創(chuàng)建了相對論,從一個小職工變成了大科學家。當然大?科學家可遠不止這兩人,數(shù)學界里比物理學界更是多得多,如歐幾

里得創(chuàng)建了平面幾何,笛卡爾開創(chuàng)解析幾何,尚有歐拉、高斯、萊

布尼茨等數(shù)不清的人物,跟計算相關的大科學家則有圖靈等人。從上面列出的一些大科學家可以發(fā)現(xiàn),他們的成就不僅是開創(chuàng)了一

個大的學科,更重要的是他們的成就上升到了“公理”的層面。發(fā)現(xiàn)

公理通常是需要一點運氣的,假如你的運氣不夠好的話,此外尚有

一個笨辦法也可以進到這層樓來,那就是成為集大成者。例如馮·諾?伊曼,對數(shù)學的所有分支都非常了解,許多領域都有較大的奉獻,

即使撇開他對計算機的開創(chuàng)奉獻,成為大科學家照樣綽綽有余。當然,程序員們最關心的是自己有沒有機會變成大科學家。既然計?算機這門大學科的開創(chuàng)性成果早就被馮·諾伊曼、圖靈等人摘走了,?那么程序員們是不是沒有機會變成大科學家了呢?我們的古人說得

好:“江山代有才人出,各領風騷數(shù)百年”,現(xiàn)在在計算機這門學科

下面誕生了許多非常重要的大的分支,所以你還是有足夠的機會進

到這層樓的。假如你可以徹底解決自然語言理解(機器翻譯)這門學科中的核心?問題,或者你在人工智能或者機器視覺(圖像辨認)方面有突破性

的發(fā)現(xiàn),那么你同樣可以容易地晉升為“大科學家”。這樣當某天你

老了去世時,或許那天國人已經覺醒,你也能享受到如Dijkstra同樣?的待遇,有滿城甚至全國的人去為你送葬?,F(xiàn)在還剩下此外一個大家感愛好的問題沒有討論,那就是這層中已?經出現(xiàn)了牛頓、愛因斯坦、高斯等我們平常人都認為是頂級的科學?家,是不是這層已經是樓頂了呢?相信還記得本文標題的人應當知

道現(xiàn)在僅僅是第9層,尚有第10層沒有到達呢。也許不少人現(xiàn)在要?感到困惑了,難道尚有人站在比牛頓、愛因斯坦、高斯等人更高的

樓層上?這個世界上的確存在可以用一只手的手指數(shù)得清的那么幾個人,他

們爬到了第10層樓上。因此,第10層樓不是虛構的,而是的確存在?的。假如對此有疑惑或者認為我在胡謅一番的話,那么不妨繼續(xù)往

下看下去,窺一下第10層樓的秘密。第10層大哲看了這層樓的名字“大哲”,也許不少人已經猜到了這層樓的秘密,

那就是你的成果必須要上升到哲學的高度,你才有機會能進到這層

來。當然,上升到哲學高度只是一個必要條件,牛頓的萬有引力似乎也?上升到了哲學的高度,由于不知道引力到底是怎么來的,但是牛頓

沒有被劃到這一層,由于進到這層尚有此外的條件,那就是你的成

果必須引起了哲學上的深度思考,并能讓人們的世界觀向前跨進一

大步。竊認為牛頓、愛因斯坦等人的成就還達不到讓人們世界觀向

前跨進一大步的限度。所以,這層樓中的人的成就對我們普通人結識世界非常重要,你可

以不學相對論,但是你不可以不對這層樓的人所作出的成就不了解

,否則你的世界觀就是極其不完整的,會犯許多結識上的錯誤。不

幸的是,中國的科普知識普及還不夠到位,知道這層樓成就的人好?像并不多,程序員中恐怕更少。下面就來看看這些用一只手的手指

數(shù)得清的大哲們,到底有什么成就,能比萬有引力定律和相對論還?重要。1、希爾伯特(1862~1943)第1位進到此樓層是一位名叫“希爾伯特”的大數(shù)學家,假如你學過《

泛函分析》,那么你在學習希爾伯特空間時也許已經對這位大數(shù)學

家有所了解;假如你不是學數(shù)學出身的,又對數(shù)學史不感愛好的話?,恐怕你歷來沒有聽說過這個名字。但是假如我問一下,知不知道

二次世界大戰(zhàn)前世界數(shù)學中心在那里,你肯定會有愛好想知道。不妨說一下,二戰(zhàn)前整個世界的數(shù)學中心就在德國的哥廷根,而我?們這位大數(shù)學家希爾伯特便是它的統(tǒng)帥和靈魂人物。即使在二戰(zhàn)期?間,希特勒和丘吉爾也有協(xié)定,德國不轟炸牛津和劍橋,作為回報

,英國不轟炸海德堡和哥廷根。整個二十世紀上半期的超一流數(shù)學家,幾乎都出自其門下。這里不?妨舉幾個我們熟悉的人物,例如馮·諾伊曼就曾受到他和他的學生施?密特和外爾的思想影響,還到哥廷根大學任過希爾伯特的助手,錢?學森的老師馮·卡門是在哥廷根取得博士學位的。順便提一下,這位?大數(shù)學家發(fā)現(xiàn)當時物理學上出了很多大的成果如相對論和量子力學?,但是這些物理學家的數(shù)學功力明顯局限性,因此有一段時間帶領他

的學生們研究過物理學,并獨立發(fā)現(xiàn)了廣義相對論,只是不好意思?和物理學家爭功勞,將廣義相對論的功勞所有讓給了愛因斯坦。廣義相對論相對于這位大數(shù)學家在數(shù)學上的奉獻,其實是算不了什?么的,只是由此可看出這位大數(shù)學家品格的崇高之處。假如再去看

看牛頓之流的人物的品行,整天和萊布尼茨、虎克等人爭功勞,利

用自己的優(yōu)勢地位打壓別人,甚至鬧得上法庭,和這位希爾伯特先

生比起來,簡直就是個小丑。說到這里,你也許對這位大數(shù)學家“希爾伯特”有了一些初步映象,?感覺到了他的重要性,但是他在數(shù)學上的重要成就可不是幾句話說

得清楚的。一方面,他是一位集大成者,精通當時數(shù)學所有分支領域?,在數(shù)學的各個領域都有較大的奉獻,當然這些成就只能讓他成為

一個大科學家,不能帶他進入這層樓。事實上這位“希爾伯特”解決?的任何一個數(shù)學問題都夠不到這層樓的高度,那么他怎么混到這層?樓來了呢?話得從1900年說起,當時還很年輕的希爾伯特在當時的世界數(shù)學?大會上做了一個報告,高屋建甌地提出了著名的23個未解決的數(shù)學

問題,然后整個二十世紀上半期,全世界的數(shù)學家們都在這23個問

題的指導下展開研究,直到現(xiàn)在仍然有許多數(shù)學家受這23個問題的?指導在進行研究。例如我們熟知的哥德巴赫猜想,就屬于其中第8

個問題素數(shù)分布的一個子問題。假如用“高瞻遠矚”來形容這位大數(shù)學家的話,那么這個世界上恐怕

沒有第二個人再配得上“高瞻遠矚”這四個字,不管是歐拉、高斯、?牛頓、愛因斯坦還是被譽為最有才華的數(shù)學家伽羅華,概不例外。雖然那23個問題是歸納總結出來的,并不全是原創(chuàng),但是其中有不?少問題是可以上升到哲學的高度,引起深度思考的。也許大多數(shù)人?都會覺得希爾伯特是進不到這層樓的,我們知道提出問題的人和解

決問題的人是同樣偉大的,何況他提出的問題是如此之多,基于這

點,個人覺得應當讓希爾伯特跨進這層樓的門檻里。看完這位希爾伯特的成就,你也許會覺得對你的世界觀并沒有產生?任何影響。的確如此,他提出的問題不是用來影響你的,而是用來

影響其他大科學家和大哲的,下面再來說說另一位對他提出的23個?問題中的第2個問題有杰出奉獻的大哲,你就會感覺到大哲們的成?果的威力了。2、哥德爾(1906~1978)這位大哲的名字叫“哥德爾(G?del)”,你也許歷來也沒有聽說過這?個名字,即使你讀了一個數(shù)學系的博士學位,假如你的研究方向不?和這位大哲對口的話,你也不一定了解這位大哲的成就,更不知道

他的成果對我們這個世界有何意義。簡樸地說,這位大哲20多歲時就證明了兩個定理,一個叫做“哥德

爾完全性定理”,另一個更重要的叫做“哥德爾不完全性定理”。你也

許會覺得奇怪,第9層樓的成就就已經上升到了公理的高度,這種

證明定理的事情不是學者和大師們做的事情嗎?怎么能比第9層樓

的成就還高呢?下面就來簡樸說一下這兩個定理的含義,你就會明

白這屬于系統(tǒng)級的定理,絕不是普通的定理和公理所能比擬的?!案绲聽柾耆远ɡ怼弊C明了邏輯學的幾條公理是完備的,即任何一?個由這些公理所產生出的問題,在這個公理系統(tǒng)內可以鑒定它是真

的還是假的,這個結論表白了我們人類所擁有的邏輯思維能力是完

備的。這條定理并不能將其帶入這層樓來,帶其進入這層樓的是另?一條定理?!案绲聽柌煌耆远ɡ怼笔窃?930年證明的,它證明了現(xiàn)有數(shù)學的幾

條公理(ZF公理系統(tǒng))是不完備的,即由這些公理產生出的問題,

無法由這幾條公理判斷它是真的還是假的。例如希爾伯特23個問題

中的第1個問題,也就是著名的康托爾連續(xù)統(tǒng)假設,哥德爾在1938?年證明了現(xiàn)有公理系統(tǒng)中不能證明它是“假”的,科恩(Cohen,或?許也可以稱得上是“半”個大哲)在1963年證明了現(xiàn)有公理系統(tǒng)不?能證明它是“真”的。最有趣的是,即使你將某個不可鑒定的問題,?作為一條新的公理加入進去,所組成的新的公理系統(tǒng)仍然是不完備

的,即你無法構造一個有限條公理的系統(tǒng),讓這個公理系統(tǒng)是完備

的。也許你仍然無法理解上面這段話的含義,不妨先說一下它對我們現(xiàn)

實世界的影響。你也許知道1936年出現(xiàn)的圖靈機是現(xiàn)代計算機的理

論模型,假如沒有哥德爾不完全性定理的思想,圖靈機什么時候能

出來是很難說的,所以這位哥德爾可以算作計算機理論的奠基者的

奠基者。計算機對我們這個世界產生的影響比原子彈大了多少,我?想不用我說大家也都清楚。當然,對現(xiàn)實世界的影響只能把哥德爾?同圖靈等人同樣劃到大科學家那一層去,能進入這層乃是另有因素?。也許你看過《未來戰(zhàn)士》、《黑客帝國》、《I,Robot》之類的科?幻電影,于是你產生制造一個和人同樣或者比人更高一級的智能機

器人的想法,這就引入了一個達成哲學高度的問題,“人到底能不能

制造出具有和人同樣的思維能力的機器來?”。我只能告訴你,“你的愿望是良好的,但現(xiàn)實是殘酷的”。假如你仔

細思考一下不完全性定理的含義,并結合現(xiàn)代計算機所具有的能力

分析一下,你會發(fā)現(xiàn)這個問題的答案暫時是否認的。假如你想造出?和人同樣思維能力的機器,那么你需要去好好學習這位大哲及其后?續(xù)研究者的成果,并在他們的基礎上有新的突破才行。為了說明這位大哲所研究領域的重要性,這里順便再討論一個我們?平常爭議不休的問題,那就是孔夫子的“人之初、性本善”以及西方

認為“人之初、性本惡”的觀點孰優(yōu)孰劣的問題。也許有許多人發(fā)現(xiàn)

西方社會現(xiàn)在領先我們,于是就認為“性本惡”是對的,“性本善”是?錯的,中國應當拋棄以前的舊思想,改用西方的思想。當然也有一

些老學究們,認為中國的人文思想是領先于西方的,自然而然地認

為“性本善”是對的,“性本惡”是錯的。假如你學過大哲用過的公理化的分析方法,你就知道一套系統(tǒng)的多?條公理間只要不會推導出矛盾的地方,即可以自圓其說,那么它可

以看作是對的。這樣你可以很容易地給這個問題下一個結論,即“性?本善”和“性本惡”是對等的,不存在孰優(yōu)孰劣的問題,更不存在誰對

誰錯的問題。只要你不同時將“性本善”和“性本惡”放入一個系統(tǒng)內

,那么是不會有問題的,甚至你也可以認為“人之初、既無善、亦無

惡”,或者認為“人之初、部分善、部分惡”,都是可以自圓其說的,?所以我們的老祖宗提出的思想并沒有問題,之所以落后乃是其他原

因導致的。這個問題其實在高斯所處的時代就有了結論,那時有人?提出了非歐幾何,即平行線公理問題,有人認為過一點可以作多條

平行線,尚有人認為平行線在無窮遠點是相交的,和歐氏幾何關于

過一點只能作一條平行線的公理都是矛盾的,但是他們各自的系統(tǒng)?內推導出的結論都是對的的。上面說的只是對哥德爾不完全性定理的一些粗淺解析,事實上假如?進一步思考一下它的含義的話,你會發(fā)現(xiàn)它對物理學等許多學科有重

大影響,包含的道理實在是深刻,遠非一般的思想所能比擬,有興?趣者不妨“google”或“百度”一下“哥德爾”?;蛟S只有我們的老祖宗“?老子”提出的哲學思想,深度可以有得一比。哥德爾不完全性定理也給那些認為科學是嚴謹?shù)娜水旑^一棒,本來?連數(shù)學這樣的純理論學科都是不嚴謹?shù)?其他學科就更不用說了。至此,已經說完數(shù)學上的大哲,下面不妨再看看物理學上的大哲,?物理學上仿佛只出過一位叫“海森堡”的大哲(注:由于本人對物理?學不甚了解,不知道“霍金”夠不夠得上大哲的稱號)。3、海森堡(1901~1976)海森堡這個名字相信沒有幾個人不知道的,大部分人在學習物理時?都學過他的“測不準關系”,也就是由于這個“測不準關系”,海森堡

爬到了第十層樓。假如你看過《時間簡史》和《霍金講演錄-黑洞、嬰兒宇宙及其他?》,你也許已經了解測不準關系的威力,所以這里不想做過多的討?論,只談一些和本土產生的哲學思想相關的東西。一方面看看爭論了幾千年,并且現(xiàn)在仍然有人在爭論不休的“宿命論”

問題?;艚鹫J為,只要這個宇宙有一個初始狀態(tài),粒子的運動是按

照一定物理定律進行的(比如相對論、量子力學屬于這些物理定律

的一部分),那么所有的粒子運動軌跡將是擬定的,然后只要你承

認唯物論,即精神是由物質決定的,那么宿命論就是“對”的。當然?由于測不準關系的存在,對人而言,又是無法準確預測的,因此也?可以將其看作是“不對”的。簡樸的說,可以認為宿命論是“對”的是?絕對的,宿命論是“不對”的是相對的。也許上面這段話你現(xiàn)在仍然難以理解,或許你又覺得你的命運并不?是上天注定的,而是可以通過自己的努力可以改變的。我要告訴你?的是,你在想什么也是事先已注定的,涉及你在預測自身也是事先?注定的,由于大腦思考問題最終是基本粒子運動的結果,而這些粒?子的運動必然要遵循物理定律進行,所以你會不會努力,想不想努

力,涉及你在想你該不該努力這件事自身也是事先注定的。順便說

一下,你現(xiàn)在正在看這篇文<-*和諧*->,也許正在想這個宿命論問

題值得懷疑,或者覺得寫得不夠好,準備砸個板磚上來;或者你在?想這篇問題寫得有點意思,準備看完后轉給朋友看一看;又或者你

看到這里,覺得很累了,準備休息一下;…;這些都是上天事先就

注定的。從你自身的相對角度看,由于你事先不知道后來會發(fā)生什?么,也可以認為不是事先注定的,也許這句話有些不好理解,不妨?好好理解前面說過的公理化思想。假如你沒看過《霍金講演錄-黑洞、嬰兒宇宙及其他》,你也許會?覺得很驚訝,宿命論歷來不都被認為是唯心論嗎,怎么由唯物論推

導出了宿命論呢?現(xiàn)實就是這樣和你開了一個大的玩笑,但是這個?玩笑也是事先注定的。假如你再仔細用公理化的方法思考一下唯物

論和唯心論的矛盾性,就像前面分析性善論和性惡論同樣,你會發(fā)?現(xiàn)唯物論、唯心論不一定就是沖突的,矛盾的雙方是可以統(tǒng)一的,

只要你不要同時將唯物和唯心放進同一個系統(tǒng)中就行。當然也有聰明者仍然會懷疑宿命論問題的對的性,由于這里有一個

前提條件,即宇宙要有一個初始狀態(tài)。宇宙有沒有初始狀態(tài),我們?并不知道啊,雖然有大爆炸學說,但那也只是假說而已,并沒有得?到確證,有些人就認為宇宙是一直都存在的。這樣看來似乎你又有?合理的理由在懷疑宿命論了,但是我仍然要告訴你,你現(xiàn)在在懷疑

宿命論仍然是事先注定的,不相信的話就來看看下面的分析。雖然宇宙的初始狀態(tài)值得懷疑,但是這個宇宙至少已經存在了一段

時間,這點我想是毋庸置疑的。我們可以在我們已知的宇宙存在的?這段時間內,任意取一個時間點t0,那么在這個時間點t0上,所有?的粒子都有一個運動狀態(tài)。在時間點t0之后的時間里,由于粒子運

動是按照物理定律進行的,因此粒子運動軌跡由時間點t0的狀態(tài)決?定。說白一點,假如取12023前的一個時間點作為t0,那么現(xiàn)在的?所有粒子運動狀態(tài)12023前就已經擬定了,假如取1002023前一個

時間點作為t0,那么最近1002023內所有粒子運動的軌跡在10000

年前就擬定了,當然,你可以取更早的時間,比如100億年前的時?間點??傊?現(xiàn)在你會發(fā)現(xiàn)宇宙有沒有初始狀態(tài)并不會影響宿命論的對的

性,所以這個世界的一切都是注定的。只但是由于粒子間互相影響

過于復雜,我們無法知道這些粒子的運動軌跡而已。當然,假如將

測不準關系用上的話,那么就是這個運動軌跡對人來說是無法準確?預測的,所以不妨開個玩笑:“算命先生經常算得不準大約是測不準?關系的緣故吧”。假如你再進一步思考一下測不準關系,你會發(fā)現(xiàn)這是一個測量系統(tǒng)的?問題。由于宿命論的存在,這個世界自身事實上是擬定的,是“準“?的,之所以測不準乃是我們人類所具有的測量能力依賴于基本粒子?導致的。所以我在前面說宿命論是“不對”的是相對的,它是相對于

我們人類的測量能力而言的。根岑(Gentzen,曾任希爾伯特的助

手)在一個更強的系統(tǒng)內證明了ZF系統(tǒng)內的問題都是可鑒定的,從?一個側面說明這個世界自身是擬定的。(注:它和哥德爾不完全性?定理并不矛盾,由于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論