原文地址:
http://blog.csdn.net/oexpress/article/details/45746293
這里的“原文”也是轉(zhuǎn)載喊废,最早的出處暫時沒找到。
程序員10大境界
作者簡介:周偉明先生畢業(yè)于上海交通大學(xué)栗弟,1994年開始 從事專業(yè)軟件開發(fā)污筷,曾工作于美國加州硅谷的DASCOM Inc公司(現(xiàn)為IBM的全資子公司)和華為技術(shù)有限公司等企業(yè)。在網(wǎng)絡(luò)安全軟件乍赫、服務(wù)端軟件瓣蛀、機器翻譯軟件、工具軟件雷厂、嵌入式系統(tǒng)等領(lǐng)域都擁有豐富的專 業(yè)實踐經(jīng)驗惋增。近年來周偉明先生潛心研究多核編程技術(shù),于2006年編著出版了國內(nèi)第一本專門研究多任務(wù)情況下數(shù)據(jù)結(jié)構(gòu)與算法的專著改鲫,獲得業(yè)界的好評诈皿。此后 周偉明先生再接再厲,更加深入地研究多核程序設(shè)計中范圍更加廣泛的重要的主題像棘,提出多核程序設(shè)計的新觀念——“象使用內(nèi)存一樣使用CPU”稽亏,并且致力與編 寫一本新的多核編程技術(shù)著作,將自己的研究成果和技術(shù)思路總結(jié)出來缕题。
周偉明先生是CSDN著名博客措左,在其博客文章中深入淺出的講解了諸如負(fù)載平衡、鎖競爭現(xiàn)象避除、任務(wù)分組競爭模式、OpenMP并行程序設(shè)計胸嘁、多核CPU上的快速排序效率等多核程序設(shè)計難題瓶摆,獲得了專家和網(wǎng)友的高度評價。
自西方文藝復(fù)興以來性宏,中國在自然科學(xué)方面落后西方很多群井,軟件領(lǐng)域也不例外。當(dāng)然現(xiàn)在中國的許多程序員們對此可能有許多不同的意見毫胜,有些人認(rèn)為中國的程序員水平遠(yuǎn)落后于西方书斜,有些則認(rèn)為中國的程序員個人能力并不比西方的程序員差诬辈,只是整個軟件產(chǎn)業(yè)落后而已。
那么荐吉,到底中國的程序員水平比西方程序員水平差焙糟,還是中國有許多優(yōu)秀的程序員達(dá)到或超過了西方程序員同等水平呢?要解決這個問題样屠,必須先知道程序員有多少 種技術(shù)層級穿撮,每個層級需要什么樣的技術(shù)水平,然后再比較中國和西方在各個技術(shù)層級的人數(shù)痪欲,就可以知道到底有沒有差距悦穿,差距有多大。
當(dāng)然业踢,對于如何劃分程序員的技術(shù)層級栗柒,不同公司或不同人會有不同的劃分標(biāo)準(zhǔn),下面的劃分僅代表個人的觀點知举,如有不當(dāng)之處瞬沦,還請砸板磚予以糾正。
第1層 菜鳥
第1層樓屬于地板層负蠕,邁進這層樓的門檻是很低的蛙埂。基本上懂計算機的基本操作遮糖,了解計算機專業(yè)的一些基礎(chǔ)知識绣的,掌握一門基本的編程語言如C/C++,或者Java欲账,或者JavaScript屡江,...,均可入門邁進這層赛不。
在這層上惩嘉,中國有著絕對的優(yōu)勢,除了從計算機專業(yè)畢業(yè)的眾多人數(shù)外踢故,還有大量的通信文黎、自動化、數(shù)學(xué)等相關(guān)專業(yè)的人士進入這一行殿较,此外還有眾多的其他專業(yè)轉(zhuǎn)行的人士耸峭,人數(shù)絕對比西方多出甚多。并且還有一個優(yōu)勢就是我們這層人員的平均智商比西方肯定高淋纲。
沒有多少人愿意一輩子做菜鳥劳闹,因為做"菜鳥"的滋味實在是不咋的,整天被老大們吆喝著去裝裝機器,搭建一下測試環(huán)境本涕,或者對照著別人寫好的測試用例做一些 黑盒測試业汰,好一點的可以被安排去寫一點測試代碼。當(dāng)然如果運氣"好"的話菩颖,碰到了國內(nèi)的一些作坊式的公司样漆,也有機會去寫一些正式的代碼。
所以位他,菜鳥們總是在努力學(xué)習(xí)氛濒,希望爬更高的一層樓去。
第2層 大蝦
從第1層爬到第2層相對容易一些鹅髓,以C/C++程序員為例舞竿,只要熟練掌握C/C++編程語言,掌握C標(biāo)準(zhǔn)庫和常用的各種數(shù)據(jù)結(jié)構(gòu)算法窿冯,掌握STL的基本實 現(xiàn)和使用方法骗奖,掌握多線程編程基礎(chǔ)知識,掌握一種開發(fā)環(huán)境醒串,再對各種操作系統(tǒng)的API都去使用一下执桌,搞網(wǎng)絡(luò)編程的當(dāng)然對socket編程要好好掌握一下, 然后再學(xué)習(xí)一些面向?qū)ο蟮脑O(shè)計知識和設(shè)計模式等芜赌,學(xué)習(xí)一些測試仰挣、軟件工程和質(zhì)量控制的基本知識,大部分人經(jīng)過2~3年的努力缠沈,都可以爬到第2層膘壶,晉升為" 大蝦"。
中國的"大蝦"數(shù)量和"菜鳥"數(shù)量估計不會少多少洲愤,所以這層上仍然遠(yuǎn)領(lǐng)先于西方颓芭。
大蝦們通常還是有些自知之明,知道自己只能實現(xiàn)一些簡單的功能柬赐,做不了大的東西亡问,有時候還會遇到一些疑難問題給卡住,所以他們對那些大牛級的人物通常是非 常崇拜的肛宋,國外的如Robert C. Martin州藕、Linus Torvalds,國內(nèi)的如求伯君酝陈、王志東等通常是他們崇拜的對象床玻。其中的有些人希望有一天也能達(dá)到這些大牛級人物的水平,所以他們繼續(xù)往樓上爬去后添。
第3層 牛人
由于"大蝦"們經(jīng)常被一些疑難問題給卡住,所以有了"大蝦"們只好繼續(xù)學(xué)習(xí)枢泰,他們需要將原來所學(xué)的知識進一步熟練掌握价说,比如以熟練掌握C++編程語言為 例,除了學(xué)一些基礎(chǔ)性的C++書籍如《C++ Primer》旁涤,《Effective C++》粱檀,《Think in C++》洲敢,《Exception C++》等之外,更重要的是需要了解C++編譯器的原理和實現(xiàn)機制茄蚯,了解操作系統(tǒng)中的內(nèi)部機制如內(nèi)存管理压彭、進程和線程的管理機制,了解處理器的基礎(chǔ)知識和 代碼優(yōu)化的方法渗常,此外還需要更深入地學(xué)習(xí)更多的數(shù)據(jù)結(jié)構(gòu)與算法壮不,掌握更深入的測試和調(diào)試知識以及質(zhì)量管理和控制方法,對各種設(shè)計方法有更好的理解等皱碘。
學(xué)習(xí)上面說的這些知識不是一揮而就的,不看個三五十本書并掌握它是做不到的缩功。以數(shù)據(jù)結(jié)構(gòu)算法來說,至少要看個5~10本這方面的著作歼培;以軟件設(shè)計來說,光 懂結(jié)構(gòu)化設(shè)計、面向?qū)ο笤O(shè)計和一些設(shè)計模式是不夠的摹迷,還要了解軟件架構(gòu)設(shè)計头岔、交互設(shè)計、面向方面的設(shè)計费就、面向使用的設(shè)計逝慧、面向數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計啄糙、情感化 設(shè)計等,否則是很難進到這個樓層的云稚。
當(dāng)然除了上面說的知識外迈套,大蝦們還需要去學(xué)習(xí)各種經(jīng)驗和技巧。當(dāng)然這點難不倒他們碱鳞,現(xiàn)在出版的書籍眾多,網(wǎng)絡(luò)上的技術(shù)文章更是不勝數(shù)踱蛀,然后再去各種專業(yè)論 壇里泡一泡窿给,把這些書籍和文章中的各種經(jīng)驗、技能率拒、技巧掌握下來崩泡,再去學(xué)習(xí)一些知名的開源項目如Apache或Linux操作系統(tǒng)的源代碼實現(xiàn)等。此時對 付一般的疑難問題通常都不在話下猬膨,菜鳥和大蝦們會覺得你很"牛"角撞,你也就爬到了第3層,晉升為"牛人"了勃痴。
看了上面所講的要求谒所,可能有些大蝦要暈過去了,成為牛人要學(xué)這么多東西芭嫔辍劣领!要求是不是太高了?其實要求一點也不高铁材,這么點東西都掌握不了的話尖淘,怎么能讓別人覺得你"牛"呢?
需要提一下的是著觉,進入多核時代后村生,從第2層爬到第3層增加了一道多核編程的門檻。當(dāng)然要邁過這道門檻并不難饼丘,已經(jīng)有很多前輩高人邁進了這道門檻趁桃,只要循著 他們的足跡前進就可以了。想邁進這道門檻者不妨去學(xué)習(xí)一下TBB開源項目的源代碼(鏈 接:http://www.threadingbuildingblocks.org/)葬毫,然后上Intel的博客(http: //softwareblogs-zho.intel.com/)和多核論壇(http://forum.csdn.NET/Intel /IntelMulti-core/)去看看相關(guān)文章镇辉,再買上幾本相關(guān)的書籍學(xué)習(xí)一下。
在國內(nèi)贴捡,一旦成為"牛人"忽肛,通常可以到許多知名的公司里去烂斋,運氣好者可以掛上一個架構(gòu)師的頭銜屹逛,甚至掛上一個"首席架構(gòu)師"或者"首席xx學(xué)家"的頭銜也 不足為奇础废。有不少爬到這層的人就以為到了樓頂了,可以眼睛往天上看了罕模,開始目空一切起來评腺,以為自己什么都可以做了,什么都懂了淑掌,經(jīng)常在網(wǎng)絡(luò)上亂砸板磚是這 個群體的最好寫照蒿讥。由此也看出,國內(nèi)的牛人數(shù)量仍然眾多抛腕,遠(yuǎn)多于西方的牛人數(shù)量芋绸,在這層上仍然是領(lǐng)先的。
也有不少謙虛的"牛人"担敌,知道自己現(xiàn)在還不到半桶水階段摔敛。他們深知爬樓的游戲就像猴子上樹一樣,往下看是笑臉全封,往上看是屁股马昙。為了多看笑臉,少看屁股刹悴,他們并沒有在此停步不前行楞,而是繼續(xù)尋找到更上一層的樓梯,以便繼續(xù)往上爬土匀。
第4層 大牛
從第3層爬到第4層可不像上面說過的那幾層一樣容易敢伸,要成為大牛的話,你必須要能做牛人們做不了的事情恒削,解決牛人們解決不了問題池颈。比如牛人們通常都不懂寫 操作系統(tǒng),不會寫編譯器钓丰,不懂得TCP/IP協(xié)議的底層實現(xiàn)躯砰,如果你有能力將其中的任何一個實現(xiàn)得象模象樣的話,那么你就從牛人升級為"大牛"了携丁。
當(dāng)然琢歇,由于各個專業(yè)領(lǐng)域的差別,這里舉操作系統(tǒng)梦鉴、編譯器李茫、TCP/IP協(xié)議只是作為例子,并不代表成為"大牛"一定需要掌握這些知識肥橙,以時下熱門的多核編 程來說魄宏,如果你能比牛人們更深入地掌握其中的各種思想原理,能更加自如的運用存筏,并有能力去實現(xiàn)一個象開源項目TBB庫一樣的東西宠互,也可以成為"大牛"味榛,又 或者你能寫出一個類似Apache一樣的服務(wù)器,或者寫出一個數(shù)據(jù)庫予跌,都可以成為"大牛"搏色。
要成為"大牛"并不是一件簡單的事情,需要付出比牛人們多得多的努力券册,一般來說频轿,至少要看過200~400本左右的專業(yè)書籍并好好掌握它,除此之外烁焙,還得經(jīng)常關(guān)注網(wǎng)絡(luò)和期刊雜志上的各種最新信息略吨。
當(dāng)"牛人"晉升為"大牛",讓"牛人們"發(fā)現(xiàn)有比他們更牛的人時考阱,對"牛人"們的心靈的震撼是可想而知的。由于牛人們的數(shù)量龐大鞠苟,并且牛人對大蝦和菜鳥階 層有言傳身教的影響乞榨,所以大牛們通常能獲得非常高的社會知名度,幾乎可以用"引無數(shù)菜鳥当娱、大蝦吃既、牛人競折腰"來形容,看看前面提過的Linus Torvalds等大牛跨细,應(yīng)該知道此言不虛鹦倚。
雖然成為"大牛"的條件看起來似乎很高似的,但是這層樓并不是很難爬的一層冀惭,只要通過一定的努力震叙,素質(zhì)不是很差,還是有許多"牛人"可以爬到這一層的散休。由此可知媒楼,"大牛"這個樓層的人數(shù)其實并不像想像的那么少,例如比爾·蓋茨之類的人好像也是屬于這一層的戚丸。
由于"大牛"這層的人數(shù)不少划址,所以也很難統(tǒng)計除到底是中國的"大牛"數(shù)量多還是西方的大牛數(shù)量多?我估計應(yīng)該是個旗鼓相當(dāng)?shù)臄?shù)量限府,或者中國的"大牛"們會更多一些夺颤。
看到這里,可能會有很多人會以為我在這里說瞎話胁勺,Linus Torvalds寫出了著名的linux操作系統(tǒng)世澜,我國并沒有人寫出過類似的東西啊,我國的"大牛"怎么能和西方的比呢? 不知大家注意到?jīng)]有署穗,Linus Torvalds只是寫出了一個"象模象樣"的操作系統(tǒng)雛形宜狐,Linux后來真正發(fā)展成聞名全球的開源操作系統(tǒng)期間势告,完全是因為許多支持開源的商業(yè)公司如 IBM等,派出了許多比Linus Torvalds更高樓層的幕后英雄在里面把它開發(fā)出來的抚恒。
可能有些菜鳥認(rèn)為Linus Torvalds是程序員中的上帝咱台,不妨說個小故事:
Linus,Richard Stallman和Don Knuth(高德納)一同參加一個會議俭驮。
Linus 說:"上帝說我創(chuàng)造了世界上最優(yōu)秀的操作系統(tǒng)回溺。"
Richard Stallman自然不甘示弱地說:"上帝說我創(chuàng)造了世界上最好用的編譯器。"
Don Knuth一臉疑惑的說:"等等混萝,等等遗遵,我什么時候說過這些話?"
由此可以看出逸嘀,Linus Torvalds的技術(shù)水平并不像想像中那么高车要,只是"牛人"和"大蝦"覺得"大牛"比他們更牛吧了。在我國崭倘,有一些當(dāng)時還處于"大蝦"層的人物翼岁,也能寫 出介紹如何寫操作系統(tǒng)的書,并且書寫得非常出色司光,而且寫出了一個有那么一點點象模象樣的操作系統(tǒng)來琅坡。我想中國的"大牛"們是不會比西方差的,之所以沒有人 寫出類似的商業(yè)產(chǎn)品來残家,完全是社會環(huán)境的原因榆俺,并不是技術(shù)能力達(dá)不到的原因。
"大牛"們之所以成為大牛坞淮,主要的原因是因為把"牛人"給蓋了下去茴晋,并不是他們自己覺得如何牛。也許有很多菜鳥回窘、大蝦甚至牛人覺得"大牛"這層已經(jīng)到頂 了晃跺,但大多數(shù)"大牛"估計應(yīng)該是有自知之明的,他們知道自己現(xiàn)在還沒有爬到半山腰毫玖,也就勉強能算個半桶水的水平掀虎,其中有些爬到這層沒有累趴下,仍然能量充 沛付枫,并且又有志者烹玉,還是會繼續(xù)往更上一層樓爬的。
看到這里阐滩,也許有些菜鳥二打、大蝦、牛人想不明白了掂榔,還有比"大牛"們更高的樓層继效,那會是什么樣的樓層症杏?下面就來看看第5層樓的奧妙。
第5層 專家
當(dāng)大牛們真正動手做一個操作系統(tǒng)或者類似的其他軟件時瑞信,他們就會發(fā)現(xiàn)自己的基本功仍然有很多的不足厉颤。以內(nèi)存管理為例,如果直接抄襲Linux或者其他開源 操作系統(tǒng)的內(nèi)存管理算法凡简,會被人看不起的逼友,如果自動動手實現(xiàn)一個內(nèi)存管理算法,他會發(fā)現(xiàn)現(xiàn)在有關(guān)內(nèi)存管理方法的算法數(shù)量眾多秤涩,自己并沒有全部學(xué)過和實踐 過帜乞,不知道到底該用那種內(nèi)存管理算法。
看到這里筐眷,可能有些人已經(jīng)明白第5層樓的奧妙了黎烈,那就是需要做基礎(chǔ)研究,當(dāng)然在計算機里匀谣,最重要的就是"計算"二字照棋,程序員要做基礎(chǔ)研究,主要的內(nèi)容就是研究非數(shù)值"計算"振定。
非數(shù)值計算可是一個非常龐大的領(lǐng)域,不僅時下熱門的"多核計算"與"云計算"屬于非數(shù)值計算范疇肉拓,就是軟件需求后频、設(shè)計、測試暖途、調(diào)試卑惜、評估、質(zhì)量控制驻售、軟件 工程等本質(zhì)上也屬于非數(shù)值計算的范疇露久,甚至芯片硬件設(shè)計也同樣牽涉到非數(shù)值計算。如果你還沒有真正領(lǐng)悟"計算"二字的含義欺栗,那么你就沒有機會進到這層樓 來毫痕。
可能有人仍然沒有明白為什么比爾·蓋茨被劃在了大牛層,沒有進到這層來迟几。雖然比爾·蓋茨大學(xué)未畢業(yè)消请,學(xué)歷不夠,但是家有藏書2萬余冊类腮,進入軟件這個行業(yè)比 絕大部分人都早臊泰,撇開他的商業(yè)才能不談,即使只看他的技術(shù)水平蚜枢,也可以算得上是學(xué)富五車缸逃,頂上幾個普通的計算機軟件博士之和是沒有問題的针饥,比起 Linus Torvalds之類的"大牛"們應(yīng)該技高一籌才對,怎么還進不了這層樓呢需频?
非常遺憾的是丁眼,從Windows操作系統(tǒng)的實現(xiàn)來看,其對計算的理解是很膚淺的贺辰,如果把Google對計算方面的理解比做大學(xué)生户盯,比爾·蓋茨只能算做一個初中生,所以比爾·蓋茨永遠(yuǎn)只能做個大牛人饲化,成不了"專家"莽鸭。
看到這里,也許國內(nèi)的大牛們要高興起來了吃靠,原來比爾·蓋茨也只和我等在同一個層次硫眨,只要再升一層就可以超越比爾·蓋茨了。不過爬到這層可沒有從"牛人"升 為"大牛"那么簡單巢块,人家比爾·蓋茨都家有2萬多冊書礁阁,讓你看個500~1000本以上的專業(yè)書籍并掌握好它應(yīng)該要求不高吧。當(dāng)然族奢,這并不是主要的條件姥闭, 更重要的是,需要到專業(yè)的學(xué)術(shù)站點去學(xué)習(xí)了越走,到ACM棚品,IEEE,Elsevier廊敌,SpringerLink铜跑,SIAM等地方去下載論文應(yīng)該成為你的定 期功課,使用Google搜索引擎中的學(xué)術(shù)搜索更是應(yīng)該成為你的日常必修課骡澈。此外锅纺,你還得經(jīng)常關(guān)注是否有與你研究相關(guān)的開源項目冒出來,例如當(dāng)聽到有 TBB這樣針對多核的開源項目時肋殴,你應(yīng)該第一時間到Google里輸入"TBB"搜索一下囤锉,將其源代碼下載下來好好研究一番,這樣也許你的一只腳已經(jīng)快邁 進了這層樓的門檻护锤。
當(dāng)你象我上面說的那樣去做了以后嚼锄,隨著時間的推移,總會有某天蔽豺,你發(fā)現(xiàn)区丑,在很多小的領(lǐng)域里,你已經(jīng)學(xué)不到什么新東西了,所有最新出來的研究成果你幾乎都知 道沧侥。此時你會發(fā)現(xiàn)你比在做"牛人"和"大牛"時的水平不知高出了多少可霎,但是你一點也"牛"不起來,因為你學(xué)的知識和思想都是別人提出來的宴杀,你自己并沒有多 少自己的知識和思想分享給別人癣朗,所以你還得繼續(xù)往樓上爬才行。
我不知道國內(nèi)的"專家"到底有多少旺罢,不過有一點可以肯定的是旷余,如果把那些專門蒙大家的"磚家"也算上的話,我們的磚家比西方的要多得多扁达。
第6層 學(xué)者
當(dāng)"專家"們想繼續(xù)往上一層樓爬時正卧,他們幾乎一眼就可以看到樓梯的入口,不過令他們吃驚的是跪解,樓梯入口處豎了一道高高的門檻炉旷,上面寫著"創(chuàng)新"二字。不幸的是叉讥,大多數(shù)人在爬到第5層樓時已經(jīng)體能消耗過度窘行,無力翻過這道門檻。
有少數(shù)體能充足者图仓,可以輕易翻越這道門檻罐盔,但是并不意味著體力消耗過度者就無法翻越,因為你只是暫時還沒有掌握恢復(fù)體能的方法而已救崔,當(dāng)掌握了恢復(fù)體能的方法惶看,將體能恢復(fù)后,你就可以輕易地翻越這道門檻了帚豪。
怎么才能將體能恢復(fù)呢碳竟?我們的老祖宗"孔子"早就教導(dǎo)過我們"溫故而知新"草丧,在英文里狸臣,研究的單詞是"research",其前綴"re" 和"search"分別是什么意思不用我解釋吧昌执≈蛞啵或許有些人覺得"溫故而知新"和"research"有些抽象,不好理解懂拾,我再給打個簡單的比方煤禽,比如你 在爬一座高山,爬了半天岖赋,中途體力不支檬果,怎么恢復(fù)體力呢?自然是休息一下,重新進食一些食物选脊,體力很快就可以得到恢復(fù)杭抠。
由此可知,對體能消耗過度者恳啥,休息+重新進食通常是恢復(fù)體能的最佳選擇偏灿。可惜的是钝的,國內(nèi)的老板們并不懂得這點翁垂,他們的公司里不僅連正常國家規(guī)定的休息時間 都不給足,有些公司甚至有員工"過勞死"出現(xiàn)硝桩。所以國內(nèi)能翻越"創(chuàng)新"這道門檻的人是"少之又少"沿猜,和西方比起來估計是數(shù)量級的差別。
再說說重新進食的問題亿柑,這個重新進食是有講究的邢疙,需要進食一些基礎(chǔ)性易消化的簡單食物,不能進食山珍海味級的復(fù)雜食物望薄,否則很難快速吸收疟游。以查找為例,并 不是去天天盯著那些復(fù)雜的查找結(jié)構(gòu)和算法進行研究痕支,你需要做的是將二分查找颁虐、哈希查找、普通二叉樹查找等基礎(chǔ)性的知識好好地復(fù)習(xí)幾遍卧须。
以哈希查找為例另绩,首先你需要去將各種沖突解決方法如鏈?zhǔn)浇Y(jié)構(gòu)、二次哈希等編寫一遍花嘶,再試試不同種類的哈希函數(shù)笋籽,然后還需要試試在硬盤中如何實現(xiàn)哈希查找, 并考慮數(shù)據(jù)從硬盤讀到內(nèi)存后椭员,如何組織硬盤中的數(shù)據(jù)才能快速地在內(nèi)存中構(gòu)建出哈希表來车海,...,這樣你可能需要將一個哈希表寫上十幾個不同的版本隘击,并比較 各個版本的性能侍芝、功能方面的區(qū)別和適用范圍。
總之埋同,對任何一種簡單的東西州叠,你需要考慮各種各樣的需求,以需求來驅(qū)動研究凶赁。最后你將各種最基礎(chǔ)性的查找結(jié)構(gòu)和算法都了然于胸后咧栗,或許某天你再看其他更復(fù)雜的查找算法逆甜,或者你在散步時,腦袋里靈光一現(xiàn)致板,突然間就發(fā)現(xiàn)了更好的方法忆绰,也就從專家晉升為"學(xué)者"了。
學(xué)者所做的事情可岂,通常都是在前人的基礎(chǔ)上错敢,進行一些小的優(yōu)化和改進,例如別人發(fā)明了鏈?zhǔn)交鶖?shù)排序的方法缕粹,你第1個發(fā)現(xiàn)使用一定的方法稚茅,可以用數(shù)組替代鏈表進行基數(shù)排序,性能還能得到進一步提高平斩。
由于學(xué)者需要的只是一些小的優(yōu)化改進亚享,因此中國還是有一定數(shù)量的學(xué)者。不過和國外的數(shù)量比起來绘面,估計少了一個數(shù)量級而已欺税。
也許有人會覺得現(xiàn)在中國許多公司申請專利的數(shù)量達(dá)到甚至超過西方發(fā)達(dá)國家了,我們的學(xué)者數(shù)量應(yīng)該不會比他們少多少揭璃。因此晚凿,有必要把專利和這里說的創(chuàng)新的區(qū)別解釋一下。
所謂專利者瘦馍,只要是以前沒有的歼秽,新的東西,都可以申請專利情组;甚至是以前有的東西燥筷,你把他用到了一個新的領(lǐng)域的產(chǎn)品里去,也可以申請專利院崇。比如你在房子里造 一個水泥柱子肆氓,只要以前沒有人就這件事申請專利,那么你就可以申請專利底瓣,并且下次你把水泥柱子挪一個位置谢揪,又可以申請一個新的專利;或者你在一個柜子上打 上幾個孔濒持,下次又把孔的位置改一改键耕,...寺滚,均可申請專利柑营。
這層樓里所說的創(chuàng)新,是指學(xué)術(shù)層面的創(chuàng)新村视,是基礎(chǔ)研究方面的創(chuàng)新官套,和專利的概念是完全不同的,難度也是完全不同的。你即使申請了一萬個象那種打孔一類的專利奶赔,加起來也夠不到這層樓里的一個創(chuàng)新惋嚎。
當(dāng)你爬到第6層樓時,你也許會有一種突破極限的快感站刑,因為你終于把那道高高的寫著"創(chuàng)新"二字的門檻給翻過去了另伍,實現(xiàn)了"0"的突破。這時绞旅,你也許有一 種"獨上高樓摆尝,欲望盡天涯路"的感覺,但是很快你會發(fā)現(xiàn)看到的都是比較近的路,遠(yuǎn)處的路根本看不清楚。如果你還有足夠的體力的話暮的,你會想爬到更高一層的樓 層去呼胚。
第7層 大師
從第6層樓爬到第7層樓,并沒有多少捷徑可走痊剖,主要看你有沒有足夠的能量。你如果能象Hoare一樣設(shè)計出一個快速排序的算法;或者象Eugene W. Myers一樣設(shè)計出了一個用編輯圖的最短路徑模型來解決diff問題的算法人灼;或者象M.J.D. Powell一樣提出了一個能夠處理非線性規(guī)劃問題的SQP方法;或者你發(fā)現(xiàn)基于比較的排序算法顾翼,它的復(fù)雜度下界為O(NLogN)挡毅;或者你發(fā)現(xiàn)用棧可以 將遞歸的算法變成非遞歸的暴构;或者你設(shè)計出一個紅黑樹或者AVL樹之類的查找結(jié)構(gòu)跪呈;或者你設(shè)計出一個象C++或Java一樣的語言;或者你發(fā)明了 UML取逾;...耗绿,你就爬到了第7層,晉升為"大師"了砾隅。
上面舉的這些例子中误阻,其中有些人站的樓層比這層高,這里只是為了形象說明而舉例他們的某個成就晴埂。從上面列出的一些大師的貢獻(xiàn)可以看出究反,成為大師必須要有較 大的貢獻(xiàn)。首先解決問題必須是比較重要的儒洛,其次你要比前輩們在某方面有一個較大的提高精耐,或者你解決的是一個全新的以前沒有解決過的問題;最重要的是琅锻,主要 的思路和方法必須是你自己提供的卦停,不再是在別人的思路基礎(chǔ)上進行的優(yōu)化和改進向胡。
看了上面這些要求,如果能量不夠的話惊完,你也許會覺得有些困難僵芹,所以不是每個人都能成為"大師"的。中國軟件業(yè)里能稱得上是"大師"的人小槐,用屈指可數(shù)來形容拇派,估計是綽綽有余。值得一提得是凿跳,國外的"大師"就象我們的"大牛"一樣滿天飛的多攀痊。
我把我猜測本國有可能進到這層樓的大師列一下,以起個拋磚引玉的作用拄显。漢王的"手寫識別"技術(shù)由于是完全保密的苟径,不知道它里面用了什么思想,原創(chuàng)思想占的 比重有多少躬审,因此不知道該把它劃到這層樓還是更高一層樓去棘街。原山東大學(xué)王小云教授破解DES和MD5算法時,用到的方法不知道是不是完全原創(chuàng)的承边,如果是的 話也可進到這層樓來遭殉。
陳景潤雖然沒有徹底解決哥德巴赫猜想,但他在解決問題時所用的方法是創(chuàng)新的博助,因此也可以進到這層樓來险污。當(dāng)然,如果能徹底解決哥德巴赫猜想富岳,那么可以算到更高的樓層去蛔糯。
求伯君和王志東等大牛們,他們在做WPS和表格處理之類的軟件時窖式,不知是否有較大的原創(chuàng)算法在里面蚁飒,如果有的話就算我錯把他們劃到了大牛層。由于所學(xué)有 限萝喘,不知道國內(nèi)還有那些人能夠得上"大師"的級別淮逻,或許有少量做研究的教授、院士們阁簸,可以達(dá)到這個級別爬早,有知道的不妨回個帖子晾一晾。
鑒于"大師"這個稱號的光環(huán)效應(yīng)启妹,相信有不少人夢想著成為"大師"筛严。或許你看了前面舉的一些大師的例子翅溺,你會覺得要成為大師非常困難脑漫。不妨說一下,現(xiàn)在有一條通往"大師"之路的捷徑打開了咙崎,那就是多核計算領(lǐng)域优幸,有大量的處女地等待大家去挖掘。
以前在單核時代開發(fā)的各種算法褪猛,現(xiàn)在都需要改寫成并行的网杆。數(shù)據(jù)結(jié)構(gòu)與算法、圖像處理伊滋、數(shù)值計算碳却、操作系統(tǒng)、編譯器笑旺、測試調(diào)試等各個領(lǐng)域昼浦,都存在大量的機會,可以讓你進到這層樓來筒主,甚至有可能讓你進到更高一層樓去关噪。
第8層 科學(xué)家
科學(xué)家向來都是一個神圣的稱號,因此我把他放在了“大師”之上乌妙。要成為科學(xué)家使兔,你的貢獻(xiàn)必須超越大師,不妨隨便舉一些例子藤韵。
如果你象Dijkstra一樣設(shè)計了ALGOL語言虐沥,提出了程序設(shè)計的三種基本結(jié)構(gòu):順序、選擇泽艘、循環(huán)欲险,那么你可以爬到第8層樓來。順便說一下匹涮,即使拋開這個成果盯荤,Dijkstra憑他的PV操作和信號量概念的提出,同樣可以進到這層樓焕盟。
如果你象Don Knuth一樣秋秤,是數(shù)據(jù)結(jié)構(gòu)與算法這門學(xué)科的重要奠基者,你也可以進到這層樓來脚翘。當(dāng)然灼卢,數(shù)據(jù)結(jié)構(gòu)和算法這門學(xué)科不是某個人開創(chuàng)的,是許多大師和科學(xué)家集體開創(chuàng)的来农。
如果你象巴科斯一樣發(fā)明了Fortran語言鞋真,并提出了巴科斯范式,對高級程序語言的發(fā)展起了重要作用沃于,你也可以進到這層樓來涩咖。
或者你象Ken Thompson海诲、Dennis Ritchie一樣發(fā)明了Unix操作系統(tǒng)和功能強大、高效檩互、靈活特幔、表達(dá)力強的C語言,對操作系統(tǒng)理論和高級編程語言均作出重大貢獻(xiàn)闸昨,那么你也可以進到這層樓來蚯斯。
或者你有Frederick P. Brooks一樣機會,可以去領(lǐng)導(dǎo)開發(fā)IBM的大型計算機System/360和OS/360操作系統(tǒng)饵较,并在失敗后反思總結(jié)拍嵌,寫出《人月神話》,對軟件工程作出里程碑式的貢獻(xiàn)循诉,你也可以進到這層來横辆。
或者你提出了面向?qū)ο笤O(shè)計的基本思想,或者你設(shè)計了互聯(lián)網(wǎng)的TCP/IP協(xié)議茄猫,或者你象Steven A.Cook一樣奠定NP完全性的理論基礎(chǔ)龄糊,或者你象Frances Allen一樣專注于并行計算來實現(xiàn)編譯技術(shù),在編譯優(yōu)化理論和技術(shù)取得基礎(chǔ)性的成就募疮,…炫惩,均可進入這層阿浓。
當(dāng)然他嚷,如果你發(fā)明了C++語言或者Java語言钝域,你進不到這層來,因為你用到的主要思想都是這層樓中的科學(xué)家提出的庆锦,你自己并沒有沒有多少原創(chuàng)思想在里面。
看了上面列出的科學(xué)家的成就晌该,你會發(fā)現(xiàn)肥荔,要成為“科學(xué)家”绿渣,通常要開創(chuàng)一門分支學(xué)科朝群,或者是這個分支學(xué)科的奠基者,或者在某個分支學(xué)科里作出里程碑式的重 大貢獻(xiàn)中符。如果做不到這些的話姜胖,那么你能象Andrew C. Yao(姚期智)一樣在對計算理論的多個方向如偽隨機數(shù)生成,密碼學(xué)與通信復(fù)雜度等各個方向上作出重要貢獻(xiàn)淀散,成為集大成者右莱,也可以進入這層樓。
成為“科學(xué)家”后档插,如果你有幸象Dijkstra一樣慢蜓,出現(xiàn)在一個非常重視科學(xué)的國度。當(dāng)你去世時郭膛,你家鄉(xiāng)滿城的人都會自動地去為你送葬晨抡。不過如果不幸生錯地方的話,能不挨“板磚”估計就算萬幸了则剃。
從上面隨便舉的一些例子中耘柱,你可能能猜到,西方科學(xué)家的數(shù)量是非常多的棍现,于是你會想中國應(yīng)該也有少量的科學(xué)家吧调煎?我可以很負(fù)責(zé)任地告訴你一個不幸的結(jié)果, 中國本土產(chǎn)生的科學(xué)家的數(shù)量為0己肮。目前在國內(nèi)士袄,軟件領(lǐng)域的唯一的科學(xué)家就是上面提過的姚期智,還是國外請回來的谎僻,并不是本土產(chǎn)生的窖剑。
可能你不同意我說的本土科學(xué)家數(shù)量為0的結(jié)論,因為你經(jīng)掣旮澹看到有許多公司里都有所謂“首席XX科學(xué)家”的頭銜西土。我想說的是,這些所謂的“首席XX科學(xué)家” 都是遠(yuǎn)遠(yuǎn)夠不到這層樓的級別的鞍盗,有些人的水平估計也就是一個“牛人”或“大判枇耍”的級別跳昼,好一點的最多也就一個“學(xué)者”的級別。尤其是那些被稱作“首席經(jīng)X 學(xué)家”的肋乍,基本上可以把稱號改為“首席坑大家”鹅颊。
雖然我國沒有人能爬到這層樓上來,但是西方國家仍然有許多人爬到了比這層更高的樓上墓造。如果要問我們比西方落后多少堪伍?那么可以簡單地回答為:“落后了三層樓”。下面就來看看我們做夢都沒有到過的更高一層樓的秘密觅闽。
第9層 大科學(xué)家
進入這層樓的門檻通常需要一些運氣帝雇,比如某天有個蘋果砸到你頭上時,你碰巧發(fā)現(xiàn)了萬有引力蛉拙,那么你可以進到這層樓來尸闸。當(dāng)然,萬有引力幾百年前就被人發(fā)現(xiàn) 了孕锄,如果你現(xiàn)在到處嚷嚷著說你發(fā)現(xiàn)了萬有引力吮廉,恐怕馬上會有人打110,然后警察會把你送到不正常人類的聚集地去畸肆。因此宦芦,這里舉萬有引力的例子,只是說你 要有類似的成就才能進到這層樓來轴脐。
牛頓發(fā)現(xiàn)萬有引力定律開創(chuàng)了經(jīng)典物理運動力學(xué)這門學(xué)科调卑,如果你也能開創(chuàng)一門大的學(xué)科,那么你就從科學(xué)家晉升為“大科學(xué)家”豁辉。比如愛因斯坦創(chuàng)建了相對論令野,從 一個小職員變成了大科學(xué)家。當(dāng)然大科學(xué)家可遠(yuǎn)不止這兩人徽级,數(shù)學(xué)界里比物理學(xué)界更是多得多气破,如歐幾里得創(chuàng)建了平面幾何,笛卡爾開創(chuàng)解析幾何餐抢,還有歐拉现使、高 斯、萊布尼茨等數(shù)不清的人物旷痕,跟計算相關(guān)的大科學(xué)家則有圖靈等人碳锈。
從上面列出的一些大科學(xué)家可以發(fā)現(xiàn),他們的成就不僅是開創(chuàng)了一個大的學(xué)科欺抗,更重要的是他們的成就上升到了“公理”的層面售碳。發(fā)現(xiàn)公理通常是需要一點運氣的, 如果你的運氣不夠好的話,另外還有一個笨辦法也可以進到這層樓來贸人,那就是成為集大成者间景。例如馮·諾伊曼,對數(shù)學(xué)的所有分支都非常了解艺智,許多領(lǐng)域都有較大的 貢獻(xiàn)倘要,即使撇開他對計算機的開創(chuàng)貢獻(xiàn),成為大科學(xué)家照樣綽綽有余十拣。
當(dāng)然封拧,程序員們最關(guān)心的是自己有沒有機會變成大科學(xué)家。既然計算機這門大學(xué)科的開創(chuàng)性成果早就被馮·諾伊曼夭问、圖靈等人摘走了泽西,那么程序員們是不是沒有機會 變成大科學(xué)家了呢?我們的古人說得好:“江山代有才人出甲喝,各領(lǐng)風(fēng)騷數(shù)百年”尝苇,現(xiàn)在在計算機這門學(xué)科下面誕生了許多非常重要的大的分支铛只,所以你還是有足夠的 機會進到這層樓的埠胖。
如果你能夠徹底解決自然語言理解(機器翻譯)這門學(xué)科中的核心問題, 或者你在人工智能或者機器視覺(圖像識別)方面有突破性的發(fā)現(xiàn)淳玩,那么你同樣可以輕易地晉升為“大科學(xué)家”直撤。這樣當(dāng)某天你老了去世時,或許那天國人已經(jīng)覺 醒蜕着,你也能享受到如Dijkstra一樣的待遇谋竖,有滿城甚至全國的人去為你送葬。
現(xiàn)在還剩下另外一個大家感興趣的問題沒有討論承匣,那就是這層中已經(jīng)出現(xiàn)了牛頓蓖乘、愛因斯坦、高斯等我們平常人都認(rèn)為是頂級的科學(xué)家韧骗,是不是這層已經(jīng)是樓頂了 呢嘉抒?相信還記得本文標(biāo)題的人應(yīng)該知道現(xiàn)在僅僅是第9層,還有第10層沒有到達(dá)呢袍暴⌒┦蹋可能不少人現(xiàn)在要感到困惑了,難道還有人站在比牛頓政模、愛因斯坦岗宣、高斯等人 更高的樓層上?
這個世界上確實存在可以用一只手的手指數(shù)得清的那么幾個人淋样,他們爬到了第10層樓上耗式。因此,第10層樓不是虛構(gòu)的,而是確實存在的刊咳。如果對此有疑惑或者認(rèn)為我在胡謅一番的話措嵌,那么不妨繼續(xù)往下看下去,窺一下第10層樓的秘密芦缰。
第10層 大哲
看了這層樓的名字“大哲”企巢,可能不少人已經(jīng)猜到了這層樓的秘密,那就是你的成果必須要上升到哲學(xué)的高度让蕾,你才有機會能進到這層來浪规。
當(dāng)然,上升到哲學(xué)高度只是一個必要條件探孝,牛頓的萬有引力似乎也上升到了哲學(xué)的高度笋婿,因為不知道引力到底是怎么來的,但是牛頓沒有被劃到這一層顿颅,因為進到這 層還有另外的條件缸濒,那就是你的成果必須引起了哲學(xué)上的深度思考,并能讓人們的世界觀向前跨進一大步粱腻。竊以為牛頓庇配、愛因斯坦等人的成就還達(dá)不到讓人們世界觀 向前跨進一大步的程度。
所以绍些,這層樓中的人的成就對我們普通人認(rèn)識世界非常重要捞慌,你可以不學(xué)相對論,但是你不可以不對這層樓的人所作出的成就不了解柬批,否則你的世界觀就是極其不完 整的啸澡,會犯許多認(rèn)識上的錯誤。不幸的是氮帐,中國的科普知識普及還不夠到位嗅虏,知道這層樓成就的人好像并不多,程序員中恐怕更少上沐。下面就來看看這些用一只手的手 指數(shù)得清的大哲們皮服,到底有什么成就,能比萬有引力定律和相對論還重要奄容。
1冰更、希爾伯特 (1862~1943)
第1位進到此樓層是一位名叫“希爾伯特”的大數(shù)學(xué)家,如果你學(xué)過《泛函分析》昂勒,那么你在學(xué)習(xí)希爾伯特空間時可能已經(jīng)對這位大數(shù)學(xué)家有所了解蜀细;如果你不是學(xué) 數(shù)學(xué)出身的,又對數(shù)學(xué)史不感興趣的話戈盈,恐怕你從來沒有聽說過這個名字奠衔。不過如果我問一下谆刨,知不知道二次世界大戰(zhàn)前世界數(shù)學(xué)中心在那里,你肯定會有興趣想知 道归斤。
不妨說一下痊夭,二戰(zhàn)前整個世界的數(shù)學(xué)中心就在德國的哥廷根,而我們這位大數(shù)學(xué)家希爾伯特便是它的統(tǒng)帥和靈魂人物脏里。即使在二戰(zhàn)期間她我,希特勒和丘吉爾也有協(xié)定,德國不轟炸牛津和劍橋迫横,作為回報番舆,英國不轟炸海德堡和哥廷根。
整個二十世紀(jì)上半期的超一流數(shù)學(xué)家矾踱,幾乎都出自其門下恨狈。這里不妨舉幾個我們熟悉的人物,例如馮·諾伊曼就曾受到他和他的學(xué)生施密特和外爾的思想影響呛讲,還到 哥廷根大學(xué)任過希爾伯特的助手禾怠,錢學(xué)森的老師馮·卡門是在哥廷根取得博士學(xué)位的。順便提一下贝搁,這位大數(shù)學(xué)家發(fā)現(xiàn)當(dāng)時物理學(xué)上出了很多大的成果如相對論和量 子力學(xué)吗氏,但是這些物理學(xué)家的數(shù)學(xué)功力明顯不足,因此有一段時間帶領(lǐng)他的學(xué)生們研究過物理學(xué)徘公,并獨立發(fā)現(xiàn)了廣義相對論牲证,只是不好意思和物理學(xué)家爭功勞哮针,將廣 義相對論的功勞全部讓給了愛因斯坦关面。
廣義相對論相對于這位大數(shù)學(xué)家在數(shù)學(xué)上的貢獻(xiàn),其實是算不了什么的十厢,只是由此可看出這位大數(shù)學(xué)家品格的高尚之處等太。如果再去看看牛頓之流的人物的品行,整天 和萊布尼茨蛮放、虎克等人爭功勞缩抡,利用自己的優(yōu)勢地位打壓他人,甚至鬧得上法庭包颁,和這位希爾伯特先生比起來瞻想,簡直就是個小丑。
說到這里娩嚼,你可能對這位大數(shù)學(xué)家“希爾伯特”有了一些初步映象蘑险,感覺到了他的重要性,不過他在數(shù)學(xué)上的主要成就可不是幾句話說得清楚的岳悟。首先佃迄,他是一位集 大成者泼差,精通當(dāng)時數(shù)學(xué)所有分支領(lǐng)域,在數(shù)學(xué)的各個領(lǐng)域都有較大的貢獻(xiàn)呵俏,當(dāng)然這些成就只能讓他成為一個大科學(xué)家堆缘,不能帶他進入這層樓。事實上這位“希爾伯 特”解決的任何一個數(shù)學(xué)問題都夠不到這層樓的高度普碎,那么他怎么混到這層樓來了呢吼肥?
話得從1900年說起,當(dāng)時還很年輕的希爾伯特在當(dāng)時的世界數(shù)學(xué)大會上做了一個報告麻车,高屋建甌地提出了著名的23個未解決的數(shù)學(xué)問題潜沦,然后整個二十世紀(jì)上 半期,全世界的數(shù)學(xué)家們都在這23個問題的指導(dǎo)下展開研究绪氛,直到現(xiàn)在仍然有許多數(shù)學(xué)家受這23個問題的指導(dǎo)在進行研究唆鸡。例如我們熟知的哥德巴赫猜想,就屬 于其中第8個問題素數(shù)分布的一個子問題枣察。
如果用“高瞻遠(yuǎn)矚”來形容這位大數(shù)學(xué)家的話争占,那么這個世界上恐怕沒有第二個人再配得上“高瞻遠(yuǎn)矚”這四個字,不論是歐拉序目、高斯臂痕、牛頓、愛因斯坦還是被譽為最有才華的數(shù)學(xué)家伽羅華猿涨,概不例外握童。
雖然那23個問題是歸納總結(jié)出來的,并不全是原創(chuàng)叛赚,但是其中有不少問題是可以上升到哲學(xué)的高度澡绩,引起深度思考的“掣剑可能大多數(shù)人都會覺得希爾伯特是進不到這 層樓的肥卡,我們知道提出問題的人和解決問題的人是一樣偉大的,何況他提出的問題是如此之多事镣,基于這點步鉴,個人覺得應(yīng)該讓希爾伯特跨進這層樓的門檻里。
看完這位希爾伯特的成就璃哟,你可能會覺得對你的世界觀并沒有產(chǎn)生任何影響氛琢。確實如此,他提出的問題不是用來影響你的随闪,而是用來影響其他大科學(xué)家和大哲的阳似,下面再來說說另一位對他提出的23個問題中的第2個問題有杰出貢獻(xiàn)的大哲,你就會感覺到大哲們的成果的威力了蕴掏。
2障般、哥德爾 (1906~1978)
這位大哲的名字叫“哥德爾 (G?del) ”调鲸,你可能從來也沒有聽說過這個名字,即使你讀了一個數(shù)學(xué)系的博士學(xué)位挽荡,如果你的研究方向不和這位大哲對口的話藐石,你也不一定了解這位大哲的成就,更不知道他的成果對我們這個世界有何意義定拟。
簡單地說于微,這位大哲20多歲時就證明了兩個定理,一個叫做“哥德爾完全性定理”青自,另一個更重要的叫做“哥德爾不完全性定理”株依。你也許會覺得奇怪,第9層樓 的成就就已經(jīng)上升到了公理的高度延窜,這種證明定理的事情不是學(xué)者和大師們做的事情嗎恋腕?怎么能比第9層樓的成就還高呢?下面就來簡單說一下這兩個定理的含義逆瑞, 你就會明白這屬于系統(tǒng)級的定理荠藤,絕不是普通的定理和公理所能比擬的。
“哥德爾完全性定理”證明了邏輯學(xué)的幾條公理是完備的获高,即任何一個由這些公理所產(chǎn)生出的問題哈肖,在這個公理系統(tǒng)內(nèi)可以判定它是真的還是假的,這個結(jié)論表明了我們?nèi)祟愃鶕碛械倪壿嬎季S能力是完備的淤井。這條定理并不能將其帶入這層樓來摊趾,帶其進入這層樓的是另一條定理。
“哥德爾不完全性定理”是在1930年證明的严就,它證明了現(xiàn)有數(shù)學(xué)的幾條公理(ZF公理系統(tǒng))是不完備的,即由這些公理產(chǎn)生出的問題梢为,無法由這幾條公理判斷 它是真的還是假的轰坊。例如希爾伯特23個問題中的第1個問題铸董,也就是著名的康托爾連續(xù)統(tǒng)假設(shè)肴沫,哥德爾在1938年證明了現(xiàn)有公理系統(tǒng)中不能證明它是“假” 的,科恩(Cohen悲幅,或許也可以稱得上是“半”個大哲)在1963年證明了現(xiàn)有公理系統(tǒng)不能證明它是“真”的。最有趣的是卓鹿,即使你將某個不可判定的問 題留荔,作為一條新的公理加入進去聚蝶,所組成的新的公理系統(tǒng)仍然是不完備的,即你無法構(gòu)造一個有限條公理的系統(tǒng)巷挥,讓這個公理系統(tǒng)是完備的句各。
也許你仍然無法理解上面這段話的含義晴叨,不妨先說一下它對我們現(xiàn)實世界的影響兼蕊。你可能知道1936年出現(xiàn)的圖靈機是現(xiàn)代計算機的理論模型,如果沒有哥德爾不 完全性定理的思想产禾,圖靈機什么時候能出來是很難說的亚情,所以這位哥德爾可以算作計算機理論的奠基者的奠基者哈雏。計算機對我們這個世界產(chǎn)生的影響比原子彈大了多 少,我想不用我說大家也都清楚土浸。當(dāng)然黄伊,對現(xiàn)實世界的影響只能把哥德爾同圖靈等人一樣劃到大科學(xué)家那一層去派殷,能進入這層乃是另有原因墓阀。
可能你看過《未來戰(zhàn)士》斯撮、《黑客帝國》悦即、《I辜梳,Robot》之類的科幻電影,于是你產(chǎn)生制造一個和人一樣或者比人更高一級的智能機器人的想法茶宵,這就引入了一個達(dá)到哲學(xué)高度的問題乌庶,“人到底能不能制造出具有和人一樣的思維能力的機器來契耿?”。
我只能告訴你透敌,“你的愿望是良好的酗电,但現(xiàn)實是殘酷的”内列。如果你仔細(xì)思考一下不完全性定理的含義话瞧,并結(jié)合現(xiàn)代計算機所具有的能力分析一下移稳,你會發(fā)現(xiàn)這個問題 的答案暫時是否定的。如果你想造出和人一樣思維能力的機器乳乌,那么你需要去好好學(xué)習(xí)這位大哲及其后續(xù)研究者的成果押桃,并在他們的基礎(chǔ)上有新的突破才行胶征。
為了說明這位大哲所研究領(lǐng)域的重要性睛低,這里順便再討論一個我們?nèi)粘幾h不休的問題钱雷,那就是孔夫子的“人之初、性本善”以及西方認(rèn)為“人之初拉庵、性本惡”的觀 點孰優(yōu)孰劣的問題钞支∷感可能有許多人發(fā)現(xiàn)西方社會現(xiàn)在領(lǐng)先我們骨坑,于是就認(rèn)為“性本惡”是對的卡啰,“性本善”是錯的匈辱,中國應(yīng)該拋棄以前的舊思想亡脸,改用西方的思想。 當(dāng)然也有一些老學(xué)究們大州,認(rèn)為中國的人文思想是領(lǐng)先于西方的厦画,自然而然地認(rèn)為“性本善”是對的根暑,“性本惡”是錯的。
如果你學(xué)過大哲用過的公理化的分析方法畸裳,你就知道一套系統(tǒng)的多條公理間只要不會推導(dǎo)出矛盾的地方怖糊,即可以自圓其說伍伤,那么它可以看作是對的嚷缭。這樣你可以很輕 易地給這個問題下一個結(jié)論耍贾,即“性本善”和“性本惡”是對等的荐开,不存在孰優(yōu)孰劣的問題晃听,更不存在誰對誰錯的問題能扒。只要你不同時將“性本善”和“性本惡”放 入一個系統(tǒng)內(nèi),那么是不會有問題的辛润,甚至你也可以認(rèn)為“人之初砂竖、既無善乎澄、亦無惡”测摔,或者認(rèn)為“人之初、部分善修噪、部分惡”,都是可以自圓其說的整慎,所以我們的 老祖宗提出的思想并沒有問題裤园,之所以落后乃是其他原因造成的剂府。這個問題其實在高斯所處的時代就有了結(jié)論腺占,那時有人提出了非歐幾何衰伯,即平行線公理問題意鲸,有人 認(rèn)為過一點可以作多條平行線怎顾,還有人認(rèn)為平行線在無窮遠(yuǎn)點是相交的,和歐氏幾何關(guān)于過一點只能作一條平行線的公理都是矛盾的夭委,但是他們各自的系統(tǒng)內(nèi)推導(dǎo)出 的結(jié)論都是正確的闰靴。
上面說的只是對哥德爾不完全性定理的一些粗淺解析蚂且,實際上如果深入思考一下它的含義的話杏死,你會發(fā)現(xiàn)它對物理學(xué)等許多學(xué)科有重大影響淑翼,包含的道理實在是深 刻,遠(yuǎn)非一般的思想所能比擬冯丙,有興趣者不妨“google”或“百度”一下“哥德爾”胃惜〈常或許只有我們的老祖宗“老子”提出的哲學(xué)思想利虫,深度可以有得一比糠惫。
哥德爾不完全性定理也給那些認(rèn)為科學(xué)是嚴(yán)謹(jǐn)?shù)娜水?dāng)頭一棒寞钥,原來連數(shù)學(xué)這樣的純理論學(xué)科都是不嚴(yán)謹(jǐn)?shù)睦碇#渌麑W(xué)科就更不用說了咨油。
至此役电,已經(jīng)說完數(shù)學(xué)上的大哲法瑟,下面不妨再看看物理學(xué)上的大哲霎挟,物理學(xué)上好像只出過一位叫“海森堡”的大哲(注:由于本人對物理學(xué)不甚了解酥夭,不知道“霍金”夠不夠得上大哲的稱號)。
3诚隙、海森堡 (1901~1976)
海森堡這個名字相信沒有幾個人不知道的久又,大部分人在學(xué)習(xí)物理時都學(xué)過他的“測不準(zhǔn)關(guān)系”待错,也就是因為這個“測不準(zhǔn)關(guān)系”火俄,海森堡爬到了第十層樓瓜客。
如果你看過《時間簡史》和《霍金講演錄-黑洞谱仪、嬰兒宇宙及其他》疯攒,你也許已經(jīng)了解測不準(zhǔn)關(guān)系的威力敬尺,所以這里不想做過多的討論砂吞,只談一些和本土產(chǎn)生的哲學(xué)思想相關(guān)的東西蜻直。
首先看看爭論了幾千年概而,并且現(xiàn)在仍然有人在爭論不休的“宿命論”問題赎瑰∠绶叮霍金認(rèn)為晋辆,只要這個宇宙有一個初始狀態(tài),粒子的運動是按照一定物理定律進行的(比如 相對論芋膘、量子力學(xué)屬于這些物理定律的一部分)为朋,那么所有的粒子運動軌跡將是確定的习寸,然后只要你承認(rèn)唯物論霞溪,即精神是由物質(zhì)決定的鸯匹,那么宿命論就是“對” 的殴蓬。當(dāng)然由于測不準(zhǔn)關(guān)系的存在染厅,對人而言糟秘,又是無法準(zhǔn)確預(yù)測的尿赚,因此也可以將其看作是“不對”的凌净。簡單的說冰寻,可以認(rèn)為宿命論是“對”的是絕對的斩芭,宿命論是 “不對”的是相對的划乖。
可能上面這段話你現(xiàn)在仍然難以理解琴庵,或許你又覺得你的命運并不是上天注定的迷殿,而是可以通過自己的努力可以改變的庆寺。我要告訴你的是止邮,你在想什么也是事先已注 定的导披,包括你在預(yù)測本身也是事先注定的撩匕,因為大腦思考問題最終是基本粒子運動的結(jié)果止毕,而這些粒子的運動必然要遵循物理定律進行扁凛,所以你會不會努力谨朝,想不想 努力,包括你在想你該不該努力這件事本身也是事先注定的洗出。順便說一下翩活,你現(xiàn)在正在看這篇文章菠镇,可能正在想這個宿命論問題值得懷疑辟犀,或者覺得寫得不夠好堂竟,準(zhǔn) 備砸個板磚上來出嘹;或者你在想這篇問題寫得有點意思税稼,準(zhǔn)備看完后轉(zhuǎn)給朋友看一看郎仆;又或者你看到這里扰肌,覺得很累了曙旭,準(zhǔn)備休息一下桂躏;…剂习;這些都是上天事先就注定 的进倍。從你自身的相對角度看陶因,因為你事先不知道后來會發(fā)生什么楷扬,也可以認(rèn)為不是事先注定的烘苹,可能這句話有些不好理解镣衡,不妨好好理解前面說過的公理化思想。
如果你沒看過《霍金講演錄-黑洞廊鸥、嬰兒宇宙及其他》望浩,你可能會覺得很驚訝,宿命論歷來不都被認(rèn)為是唯心論嗎惰说,怎么由唯物論推導(dǎo)出了宿命論呢磨德?現(xiàn)實就是這樣 和你開了一個大的玩笑,不過這個玩笑也是事先注定的吆视。如果你再仔細(xì)用公理化的方法思考一下唯物論和唯心論的矛盾性,就像前面分析性善論和性惡論一樣啦吧,你會 發(fā)現(xiàn)唯物論您觉、唯心論不一定就是沖突的,矛盾的雙方是可以統(tǒng)一的授滓,只要你不要同時將唯物和唯心放進同一個系統(tǒng)中就行顾犹。
當(dāng)然也有聰明者仍然會懷疑宿命論問題的正確性,因為這里有一個前提條件褒墨,即宇宙要有一個初始狀態(tài)。宇宙有沒有初始狀態(tài)擎宝,我們并不知道啊郁妈,雖然有大爆炸學(xué) 說,但那也只是假說而已绍申,并沒有得到確證噩咪,有些人就認(rèn)為宇宙是一直都存在的。這樣看來似乎你又有合理的理由在懷疑宿命論了极阅,不過我仍然要告訴你胃碾,你現(xiàn)在在 懷疑宿命論仍然是事先注定的,不相信的話就來看看下面的分析筋搏。
雖然宇宙的初始狀態(tài)值得懷疑仆百,但是這個宇宙至少已經(jīng)存在了一段時間,這點我想是毋庸置疑的奔脐。我們可以在我們已知的宇宙存在的這段時間內(nèi)俄周,任意取一個時間點 t0吁讨,那么在這個時間點t0上,所有的粒子都有一個運動狀態(tài)峦朗。在時間點t0之后的時間里建丧,由于粒子運動是按照物理定律進行的,因此粒子運動軌跡由時間點 t0的狀態(tài)決定波势。說白一點翎朱,如果取100年前的一個時間點作為t0,那么現(xiàn)在的所有粒子運動狀態(tài)100年前就已經(jīng)確定了尺铣,如果取10000年前一個時間點 作為t0拴曲,那么最近10000年內(nèi)所有粒子運動的軌跡在10000年前就確定了,當(dāng)然迄埃,你可以取更早的時間疗韵,比如100億年前的時間點。
總之侄非,現(xiàn)在你會發(fā)現(xiàn)宇宙有沒有初始狀態(tài)并不會影響宿命論的正確性蕉汪,所以這個世界的一切都是注定的。只不過由于粒子間相互影響過于復(fù)雜逞怨,我們無法知道這些粒 子的運動軌跡而已者疤。當(dāng)然,如果將測不準(zhǔn)關(guān)系用上的話叠赦,那么就是這個運動軌跡對人來說是無法準(zhǔn)確預(yù)測的驹马,所以不妨開個玩笑:“算命先生經(jīng)常算得不準(zhǔn)大概是測 不準(zhǔn)關(guān)系的緣故吧”。
如果你再深入思考一下測不準(zhǔn)關(guān)系除秀,你會發(fā)現(xiàn)這是一個測量系統(tǒng)的問題糯累。由于宿命論的存在,這個世界本身實際上是確定的册踩,是“準(zhǔn)“的泳姐,之所以測不準(zhǔn)乃是我們?nèi)?類所具有的測量能力依賴于基本粒子造成的。所以我在前面說宿命論是“不對”的是相對的暂吉,它是相對于我們?nèi)祟惖臏y量能力而言的胖秒。根岑(Gentzen,曾任 希爾伯特的助手)在一個更強的系統(tǒng)內(nèi)證明了ZF系統(tǒng)內(nèi)的問題都是可判定的慕的,從一個側(cè)面說明這個世界本身是確定的阎肝。(注:它和哥德爾不完全性定理并不矛盾, 由于數(shù)學(xué)上的復(fù)雜性肮街,這里就不詳細(xì)解釋了)
不妨再想想我們老祖宗提出的“是莊周夢見了蝴蝶风题?還是蝴蝶夢見了莊周?”,“風(fēng)動俯邓?幡動骡楼?還是心動?”之類的問題稽鞭,當(dāng)然以前你都認(rèn)為這是純粹的唯心主義鸟整, 甚至認(rèn)為是封建糟粕,但是如果結(jié)合測不準(zhǔn)關(guān)系的內(nèi)涵朦蕴,再結(jié)合前面所說的公理化分析方法進行分析篮条,估計你現(xiàn)在不敢輕易地下結(jié)論。
也許到現(xiàn)在你仍然無法理解為什么把大哲們劃在了大科學(xué)家的上一層吩抓,你可能仍然覺得萬有引力涉茧、相對論等成果是最偉大的。下面就來談?wù)劄槭裁创笳鼙却罂茖W(xué)家高一層疹娶。
如果把人類在現(xiàn)有能力情況下伴栓,將來所能夠擁有的知識總集看成是一個集合A,人類現(xiàn)在已有的知識總集看成是集合B雨饺,顯然钳垮,集合B只是集合A的一個子集,并且 是很小的一個子集额港。牛頓力學(xué)饺窿、相對論這些理論只能算作集合B里的一個子集,相對于集合A移斩,只能算作是滄海一粟肚医。 換句話說,在人類現(xiàn)有能力可做的事情集合中向瓷,牛頓力學(xué)和相對論等理論給出了詳細(xì)的辦法讓你可以做其中的一些事情肠套,當(dāng)然剩下的更多的事情是牛頓力學(xué)和相對論 所無法解決的。
哥德爾不完全性定理和測不準(zhǔn)關(guān)系的意義在于猖任,它指出集合A的范圍糠排,即將人類現(xiàn)有能力發(fā)揮到極限的情況下,那些事情是你能做到的超升,那些是你不能做到的。當(dāng) 然哺徊,它并沒有給出具體的方法讓你去做你能做到的事情室琢,它只是告訴我們我們?nèi)祟惉F(xiàn)在發(fā)現(xiàn)的能力所能達(dá)到的極限÷渥罚或許將來發(fā)現(xiàn)人類有其他新的未發(fā)現(xiàn)的能力盈滴,那 么這個極限就被打破了。比如將來能發(fā)現(xiàn)不依賴于基本粒子的其他測量方法,并且測量過程中不會改變其他粒子的狀態(tài)巢钓,那么測不準(zhǔn)關(guān)系就被打破了病苗。
看到這里,估計你已經(jīng)發(fā)現(xiàn)了一些秘密症汹,科學(xué)兜了一大圈硫朦,最終還是回到了哲學(xué),也就是我們所認(rèn)為的玄學(xué)上背镇。同時你也會發(fā)現(xiàn)咬展,我們老祖宗提出的所謂玄學(xué),原來 和現(xiàn)代科學(xué)是相通的瞒斩,并非象某些人想像的那樣全是糟粕破婆。如果有人認(rèn)為西方現(xiàn)代暫時領(lǐng)先我們,進而就認(rèn)為西方古代就已經(jīng)超越我們胸囱,我們老祖宗就已經(jīng)落后西 方祷舀,他們的思想都是糟粕的話,那么我認(rèn)為他可能犯了崇洋媚外的毛病烹笔。我不得不化用一句周杰倫在春晚上的歌詞送給他:“你不妨抓一副我們祖?zhèn)鞯闹嗅t(yī)良方裳扯,治 一治你那崇洋媚外的內(nèi)傷”。順便告訴他一下箕宙,中醫(yī)用的陰陽五行理論嚎朽,它的前提假設(shè)就是宿命論。
上面說的這幾位大哲的成果柬帕,可能對你的世界觀會有很大的影響哟忍,于是你可能會羨慕起這些大哲們的成果來。如果你有大志的話陷寝,你會希望有朝一日你也能變成大哲锅很,但是你發(fā)現(xiàn)上面的大哲是研究數(shù)學(xué)和物理學(xué)的,而你是學(xué)計算機的程序員凤跑,那么是不是沒有機會變成大哲呢爆安?
如果你能將NP難題給徹底解決掉,意味著計算機內(nèi)的計算的奧秘基本被揭開仔引,或許你可以進到這層樓來扔仓;或者你能發(fā)現(xiàn)另外一套計算機可以理解的數(shù)學(xué)公理系統(tǒng), 并且這個公理系統(tǒng)是完備的咖耘,那么計算機取代人類進行思維的一個必要條件就滿足了翘簇,計算機將具有真正意義上的“邏輯思維和推理能力”,你可以輕松地進到這層 樓來儿倒。如果你發(fā)現(xiàn)了新的方法可以打破測不準(zhǔn)關(guān)系版保,同樣你也可以輕松地進到這層樓來。
如果你能徹底揭開人類抽象思維的奧妙,并讓計算機懂得了如何創(chuàng)建抽象彻犁,具備抽象思維能力叫胁,那么也就具備了“設(shè)計能力”,可以取代人類進行各種設(shè)計了汞幢,你也可以輕松地進到這層樓來驼鹅。順便說一下,如果你對軟件設(shè)計有真正深刻理解的話急鳄,就會明白這不是在寫科幻小說谤民。對此感興趣者,不妨好好地研究一下程序切片方面的技術(shù)疾宏,會讓你對軟件設(shè)計和測試等方面的理解有質(zhì)的提高张足,或許有一天你能打開這扇大門。
當(dāng)然坎藐,計算機要完全取代人還有其他必要條件为牍,后面還會提及。
值得一提的是岩馍,雖然第10層樓是本文中所寫的最高層碉咆,但是大哲們并沒有覺得他們到了頂層,他們通常都還會努力尋找通往更高一層的樓梯蛀恩。如果你也有成為天下第一的想法疫铜,那么你或許會想要做什么事情才能超越大哲們的成就,當(dāng)然双谆,這都得依賴于找到更高一層樓的樓梯壳咕。
個人認(rèn)為,再往上一層樓的樓梯是通往天堂的道路顽馋,也就是說第11層樓的名字叫“天堂”谓厘,是“上帝”住的地方,而不是人住的地方寸谜。如果將來某天有人能爬到天堂的話竟稳,那么他已經(jīng)不是人了,而是由人變成了“上帝”熊痴。
你也許會懷疑這個世界到底有沒有“天堂”他爸,“上帝”是否根本就不存在,我也很有同感果善。因此有必要再寫上一段文字讲逛,討論一下“上帝”的問題。如果你想了解天 堂的奧妙岭埠,有沒有辦法讓你變成“上帝”,不妨看看繼續(xù)往下看看第11層樓的玄妙。注意我這里用的是“玄妙”二字惜论,因為上帝在大部分人眼里估計都是“玄之又 玄”的東西许赃。
第11層 上帝
看了上面的小標(biāo)題,你可能會覺得奇怪馆类,這篇文章不是講“程序員的十層樓”嗎混聊?怎么冒出了第11層來了?
其實這并不矛盾乾巧,程序員確實只有十層樓句喜,因為爬到第11層時,已經(jīng)變成上帝沟于,不再是程序員了咳胃;所以超出10層樓本身并不重要,關(guān)鍵的問題是看你有沒有能力變成上帝旷太。
1展懈、誰是上帝?
菜鳥們認(rèn)為Linus Torvalds是程序員中的上帝供璧,看完了前面各層樓的介紹存崖,此時再看到這句話,相信你要忍不住在心里笑起來睡毒。當(dāng)然来惧,你會不會笑起來是事先注定的。Don Knuth也不是上帝演顾,他離上帝還有三層樓的距離供搀。即使是大哲們,他們離天堂也還差一層樓偶房,因此這個世界上有史以來還沒有任何一個人變成過上帝趁曼。
我們感興趣的是,將來會不會有人爬到比大哲們更高的樓層上棕洋,變成了上帝挡闰。
要變成上帝,你得有上帝一樣的能力掰盘,上帝會造人摄悯,你會嗎?
你也許會怯生生地問:“我可以和愛人生小孩愧捕,算不算造人奢驯?”,你可能還會理直氣壯地說:“現(xiàn)在生物學(xué)上都可以克隆人了次绘,早就有人掌握了造人的方法”瘪阁。
事實上克隆人需要有人的體細(xì)胞撒遣,必須要先有人才會有體細(xì)胞。上帝造人時管跺,這個世界上并沒有人义黎,是從無生命的物質(zhì)“塵土”中創(chuàng)造出的人。因此豁跑,用最原始的方法生人和克隆人都是從有生命信息的物質(zhì)中生人廉涕,不能算作造人。
這樣看來艇拍,你根本不會造人狐蜕,不過我可以告訴你一個“玄方”,讓你有機會學(xué)會如何造人卸夕。
如果你揭開了人類情感的奧秘层释,讓計算機也可以擁有和人類一樣的情感,那么計算機將可以理解人類的需求娇哆,具有了“情商”湃累,將具有完整的和人一樣的能力。此時碍讨,人類進化到了機器人治力,科幻小說將變成現(xiàn)實,也就是說你已經(jīng)掌握了真正的造人能力勃黍,晉升為“上帝”了宵统。
未來到底有沒有人能變成“上帝”,人能不能進化到機器人覆获,這是宿命論中事先注定了的马澈。說到這里,不妨再告訴你一個打破宿命論的方法弄息,這個方法就是你要爬到比上帝還要高的樓層痊班。
“還有比上帝還高的樓層?”摹量,你可能會第1時間內(nèi)冒出這個問題涤伐,其實我也有同樣的懷疑。因此在寫第12層樓前缨称,有必要弄清楚它到底存不存在凝果,即你可不可以騎到上帝的頭上的問題。
2. 騎到上帝的頭上睦尽?
為了解決是否可以騎到上帝的頭上這個問題器净,不妨先假設(shè)存在比上帝高的樓層,也就是存在打破宿命論的方法当凡。
宿命論的本質(zhì)原因是因為時間是單向運行山害,不可逆轉(zhuǎn)造成的纠俭。如果你找到一種可以使時間逆轉(zhuǎn)的方法,那么你就打破了宿命論浪慌,爬到了比上帝還高的樓層柑晒。
看到這里,你也許會擺脫剛才陷于宿命論的困惑情緒眷射,變得充滿希望般高興起來。不過佛掖,如果你的邏輯思維能力足夠好妖碉,仔細(xì)思考一下,會發(fā)現(xiàn)存在一個邏輯上的悖論芥被。
在你找到時間逆轉(zhuǎn)的方法之前欧宜,顯然這個世界仍然是需要服從宿命論的,也就是說你能不能找到打破宿命論的方法是事先注定的拴魄。假設(shè)你在某個時間點t0處找到了 打破宿命論的方法冗茸,你在打破宿命論后,想利用時間逆轉(zhuǎn)的方法回到某個時間點t2匹中。下面來看看你到底能不能回到時間點t2夏漱。
取位于t0和t2之間的任意一個時間點t1,你在回到時間點t2之前顶捷,必須先經(jīng)過時間點t1挂绰,考慮你到達(dá)t1的那一時刻,由于t1比t0要早服赎,這個時間點 上你還沒有找到時間逆轉(zhuǎn)的方法葵蒂,所以到了時間t1點后,你無法再使用時間逆轉(zhuǎn)的能力回到時間點t2去重虑,所以你永遠(yuǎn)也回不到時間點t2践付,由于時間點t2是任 意取的,因此缺厉,你永遠(yuǎn)也無法使時間逆轉(zhuǎn)永高,或者說你根本就沒打破過宿命論,這與你在時間點t0打破了宿命論產(chǎn)生了矛盾芽死。
上面這段話看起來似乎有點像“人永遠(yuǎn)邁不出一步”的詭辯一樣乏梁,你可能會想返回到時間點t1時,仍然可以擁有時間逆轉(zhuǎn)能力啊关贵。不過你又會發(fā)現(xiàn)一個新的問題遇骑, 時間點t1本來是沒有時間逆轉(zhuǎn)能力的,現(xiàn)在又認(rèn)為時間點t1又有時間逆轉(zhuǎn)能力揖曾,那時間點t1到底是有還是沒有時間逆轉(zhuǎn)能力呢落萎?或者說在時間點t0前亥啦,宿命 論注定了時間點t1是沒有時間逆轉(zhuǎn)能力的,現(xiàn)在你又認(rèn)為時間點t1具有時間逆轉(zhuǎn)能力练链,那么這兩個時間點t1究竟是不是同一個時間點翔脱?如果不是同一個時間 點,說明你沒有回到過去媒鼓;如果是同一個時間點的話届吁,豈不是自相矛盾嗎?
為了說得更形象一些绿鸣,不妨假設(shè)你坐一艘超光速飛船疚沐,準(zhǔn)備從時間點t0回到時間點t2去,假設(shè)你回到t2后潮模,隨著時間的流逝亮蛔,又達(dá)到了時間點t0,如果這時 你又再次坐超光速飛船返回時間點t2擎厢,那么一個值得思考的問題就出現(xiàn)了究流,“你在時間點t2能不能看到上次返回時間點t2的飛船?”
如果回答不能看到飛船动遭,那么上次返回的飛船那里去了呢芬探?顯然很難解釋通。如果回答能看到飛船沽损,那么你可以到達(dá)時間點t2后灯节,下次時間到達(dá)t0時,你又坐飛 船返回t2绵估,這次你將可以看到上兩次的兩艘飛船炎疆。如果這樣一直循環(huán)下去,最后你會發(fā)現(xiàn)你可以在時間點t2看到無窮多的飛船国裳。用程序員的術(shù)語說形入,叫做“程序 陷入了死循環(huán)”,最后系統(tǒng)必然會出現(xiàn)“Out of Memory”現(xiàn)象而崩潰缝左。
當(dāng)然亿遂,你也可以認(rèn)為有其他的方法,不需要飛船渺杉,可以一次性從時間點t0直接跳躍到時間點t2蛇数,并不需要經(jīng)過時間點t1。下面不妨來分析一下這個方法是否可行是越。
既然是直接跳躍到時間點t2耳舅,那么你必然是在一個無窮小的時間里出現(xiàn)在時間點t2的某個空間里,例如你要在時間點t2回到某個廣場上倚评。首先說明一下為什么 是無窮小的時間里出現(xiàn)的浦徊,因為如果不是無窮小的時間里出現(xiàn)的話馏予,那么必然可以取到一個時間點t1,會導(dǎo)致前面所說的時間點t1上出現(xiàn)悖論盔性。
你在廣場上出現(xiàn)的時霞丧,廣場上的空氣必然要為你讓開空間,而這是在無窮小的時間里完成的冕香,那么很容易推導(dǎo)出你周圍的空氣獲得的加速度和速度都是無窮大蛹尝,因而 它具有的動能也是無窮大,無窮大的能量和無窮大的速度意味著什么悉尾?一只鳥都可以將飛機撞下來箩言,如果宇宙是有限大的話梳码,它可以讓這個宇宙炸毀無窮次收捣;即使宇 宙是無限大朱监,它也足以讓宇宙炸毀一次。宇宙都?xì)缌送依担趾蝸淼臅r間?還能說你回到了時間點t2嗎拄衰?
也許上面說的這些你仍然難以相信它褪,不妨再說得更現(xiàn)實一些,假設(shè)你要回到100年前的一個時間點翘悉,這100年中茫打,天上有多少流星湮滅了?有多少新星生成了妖混? 宇宙膨脹了多少老赤?你有能力讓湮滅的流星復(fù)原、生成的新星重新返回未生成前的狀態(tài)制市,膨脹的宇宙收縮回去嗎抬旺?如果這些東西的狀態(tài)沒有回復(fù)到100年前,又怎么 能說明你回到的是100年前的時間點呢?
根據(jù)上面的推導(dǎo)和分析祥楣,個人認(rèn)為使時間逆轉(zhuǎn)的方法是不存在的开财,所以第12層樓是不存在的,自然沒有人可以騎到“上帝”的頭上误褪。
宿命論將在有時間的時間里永遠(yuǎn)統(tǒng)治這個世界责鳍。