傳說中程序員的層次【轉】



程序員的層次【轉】 php


(轉此篇與程序員共勉。曾經有人轉過此文,爲了你們閱讀方便,從新排版校對並加了第9層後貼上來。) 程序員

1. 我國社會環境日趨浮躁,我我的認爲基本上已經沒有了培養學者、大師和科學家的土壤。對於商業公司來講,尤爲是創業公司,請到牛人和大牛,用好他們。在公司的經營發展中孕育出學者和大師是有可能的;至於科學家,其實,那是可遇不可求的... web

2. 這些年、計算機、終端、互聯網的技術發展突飛猛進,我以爲「程序員的層次」這個話題能夠從新寫一篇文章了,內容確定更加精彩;要寫這樣的文章,必須具有很高的水平,Paul Graham若是有空的話,能夠寫一部分 算法

3. -- 另,有web3D引擎設計、應用(包括Unity)、開發的牛人或大牛嗎?有的話請與我聯繫。QQ:5582216 數據庫

西方文藝復興以來,中國在天然科學方面落後西方不少,軟件領域也不例外。固然如今中國的許多程序員們對此可能有許多不一樣的意見,有些人認爲中國的程序員水平遠落後於西方,有些則認爲中國的程序員我的能力並不比西方的程序員差,只是整個軟件產業落後而已。

    那麼,到底中國的程序員水平比西方程序員水平差,仍是中國有許多優秀的程序員達到或超過了西方程序員同等水平呢?要解決這個問題,必須先知道程序員有多少種技術層級,每一個層級須要什麼樣的技術水平,而後再比較中國和西方在各個技術層級的人數,就能夠知道到底有沒有差距,差距有多大。

    固然,對於如何劃分程序員的技術層級,不一樣公司或不一樣人會有不一樣的劃分標準,下面的劃分僅表明我的的觀點,若有不當之處,還請砸板磚予以糾正。

1層菜鳥

    菜鳥第1層樓屬於地板層,邁進這層樓的門檻是很低的。基本上懂計算機的基本操做,瞭解計算機專業的一些基礎知識,掌握一門基本的編程語言如C/C++,或者Java,或者JavaScript...,都可入門邁進這層。

    在這層上,中國有着絕對的優點,除了從計算機專業畢業的衆多人數外,還有大量的通訊、自動化、數學等相關專業的人士進入這一行,此外還有衆多的其餘專業轉行的人士,人數絕對比西方多出甚多。而且還有一個優點就是咱們這層人員的平均智商比西方確定高。

    沒有多少人願意一生作菜鳥,由於作"菜鳥"的滋味實在是不咋的,成天被老大們吆喝着去裝裝機器,搭建一下測試環境,或者對照着別人寫好的測試用例作一些黑盒測試,好一點的能夠被安排去寫一點測試代碼。固然若是運氣""的話,碰到了國內的一些做坊式的公司,也有機會去寫一些正式的代碼。

因此,菜鳥們老是在努力學習,但願爬更高的一層樓去。

2層大蝦

    從第1層爬到第2層相對容易一些,以C/C++程序員爲例,只要熟練掌握C/C++編程語言,掌握C標準庫和經常使用的各類數據結構算法,掌握STL的基本實現和使用方法,掌握多線程編程基礎知識,掌握一種開發環境,再對各類操做系統的API都去使用一下,搞網絡編程的固然對socket編程要好好掌握一下,而後再學習一些面向對象的設計知識和設計模式等,學習一些測試、軟件工程和質量控制的基本知識,大部分人通過23年的努力,均可以爬到第2層,晉升爲"大蝦"

    中國的"大蝦"數量和"菜鳥"數量估計不會少多少,因此這層上仍然遠領先於西方。 大蝦們一般仍是有些自知之明,知道本身只能實現一些簡單的功能,作不了大的東西,有時候還會遇到一些疑難問題給卡住,因此他們對那些大牛級的人物一般是很是崇拜的,國外的如Robert C. MartinLinus Torvalds,國內的如求伯君、王志東等一般是他們崇拜的對象。其中的有些人但願有一天也能達到這些大牛級人物的水平,因此他們繼續往樓上爬去。

3層牛人

    因爲"大蝦"們常常被一些疑難問題給卡住,因此有了"大蝦"們只好繼續學習,他們須要將原來所學的知識進一步熟練掌握,好比以熟練掌握C++編程語言爲例,除了學一些基礎性的C++書籍如《C++ Primer》,《Effective C++》,《Think in C++》,《Exception C++》等以外,更重要的是須要了解C++編譯器的原理和實現機制,瞭解操做系統中的內部機制如內存管理、進程和線程的管理機制,瞭解處理器的基礎知識和代碼優化的方法,此外還須要更深刻地學習更多的數據結構與算法,掌握更深刻的測試和調試知識以及質量管理和控制方法,對各類設計方法有更好的理解等。

    學習上面說的這些知識不是一揮而就的,不看個三五十本書並掌握它是作不到的。以數據結構算法來講,至少要看個510本這方面的著做;以軟件設計來講,光懂結構化設計、面向對象設計和一些設計模式是不夠的,還要了解軟件架構設計、交互設計、面向方面的設計、面向使用的設計、面向數據結構算法的設計、情感化設計等,不然是很難進到這個樓層的。

    固然除了上面說的知識外,大蝦們還須要去學習各類經驗和技巧。固然這點難不倒他們,如今出版的書籍衆多,網絡上的技術文章更是不勝數,而後再去各類專業論壇裏泡一泡,把這些書籍和文章中的各類經驗、技能、技巧掌握下來,再去學習一些知名的開源項目如ApacheLinux操做系統的源代碼實現等。此時對付通常的疑難問題一般都不在話下,菜鳥和大蝦們會以爲你很"",你也就爬到了第3層,晉升爲"牛人"了。

    看了上面所講的要求,可能有些大蝦要暈過去了,成爲牛人要學這麼多東西啊!要求是否是過高了?其實要求一點也不高,這麼點東西都掌握不了的話,怎麼能讓別人以爲你""呢?

    須要提一下的是,進入多核時代後,從第2層爬到第3層增長了一道多核編程的門檻。固然要邁過這道門檻並不難,已經有不少前輩高人邁進了這道門檻,只要循着他們的足跡前進就能夠了。想邁進這道門檻者不妨去學習一下TBB開源項目的源代碼(連接:http://www.threadingbuildingblocks.org/),而後上Intel的博客(http://software.intel.com/zh-cn/blogs/)和多核論壇(http://forum.csdn.net/Intel/IntelMulti-core/)去看看相關文章,再買上幾本相關的書籍學習一下。

    在國內, 一旦成爲"牛人",一般能夠到許多知名的公司裏去,運氣好者能夠掛上一個架構師的頭銜,甚至掛上一個"首席架構師"或者"首席xx學家"的頭銜也不足爲奇。有很多爬到這層的人就覺得到了樓頂了,能夠眼睛往天上看了,開始目空一切起來,覺得本身什麼均可以作了,什麼都懂了,常常在網絡上亂砸板磚是這個羣體的最好寫照。由此也看出,國內的牛人數量仍然衆多,遠多於西方的牛人數量,在這層上仍然是領先的。

    也有很多謙虛的"牛人",知道本身如今還不到半桶水階段。他們深知爬樓的遊戲就像猴子上樹同樣,往下看是笑臉,往上看是屁股。爲了多看笑臉,少看屁股,他們並無在此停步不前,而是繼續尋找到更上一層的樓梯,以便繼續往上爬。

4層大牛

    從第3層爬到第4層可不像上面說過的那幾層同樣容易,要成爲大牛的話,你必需要能作牛人們作不了的事情,解決牛人們解決不了問題。好比牛人們一般都不懂寫操做系統,不會寫編譯器,不懂得TCP/IP協議的底層實現,若是你有能力將其中的任何一個實現得象模象樣的話,那麼你就從牛人升級爲"大牛"了。

固然,因爲各個專業領域的差異,這裏舉操做系統、編譯器、TCP/IP協議只是做爲例子,並不表明成爲"大牛"必定須要掌握這些知識,以時下熱門的多核編程來講,若是你能比牛人們更深刻地掌握其中的各類思想原理,能更加自如的運用,並有能力去實現一個象開源項目TBB庫同樣的東西,也能夠成爲"大牛",又或者你能寫出一個相似Apache同樣的服務器,或者寫出一個數據庫,均可以成爲"大牛"

    要成爲"大牛"並非一件簡單的事情,須要付出比牛人們多得多的努力,通常來講,至少要看過200~400本左右的專業書籍並好好掌握它,除此以外,還得常常關注網絡和期刊雜誌上的各類最新信息。

    "牛人"晉升爲"大牛",讓"牛人們"發現有比他們更牛的人時,對"牛人"們的心靈的震撼是可想而知的。因爲牛人們的數量龐大,而且牛人對大蝦和菜鳥階層有言傳身教的影響,因此大牛們一般能得到很是高的社會知名度,幾乎能夠用"引無數菜鳥、大蝦、牛人競折腰"來形容,看看前面提過的Linus Torvalds等大牛,應該知道此言不虛。

    雖然成爲"大牛"的條件看起來彷佛很高似的,可是這層樓並非很難爬的一層,只要經過必定的努力,素質不是不好,仍是有許多"牛人"能夠爬到這一層的。由此可知,"大牛"這個樓層的人數其實並不像想像的那麼少,例如比爾·蓋茨之類的人好像也是屬於這一層的。

    因爲"大牛"這層的人數很多,因此也很難統計除究竟是中國的"大牛"數量多仍是西方的大牛數量多?我估計應該是個旗鼓至關的數量,或者中國的"大牛"們會更多一些。

    看到這裏,可能會有不少人會覺得我在這裏說瞎話,Linus
Torvalds
寫出了著名的Linux操做系統,我國並無人寫出過相似的東西啊,我國的"大牛"怎麼能和西方的比呢? 不知你們注意到沒有,Linus Torvalds只是寫出了一個"象模象樣"的操做系統雛形,Linux後來真正發展成聞名全球的開源操做系統期間,徹底是由於許多支持開源的商業公司如IBM等,派出了許多比Linus Torvalds更高樓層的幕後英雄在裏面把它開發出來的。

    可能有些菜鳥認爲Linus Torvalds是程序員中的上帝,不妨說個小故事:

Linus
Richard
Stallman
Don
Knuth
(高德納)一同參加一個會議。

Linus
說:"上帝說我創造了世界上最優秀的操做系統。"


Richard Stallman
天然不甘示弱地說:"上帝說我創造了世界上最好用的編譯器。"

Don Knuth
一臉疑惑的說:"等等,等等,我何時說過這些話?"


    由此能夠看出,Linus Torvalds的技術水平並不像想像中那麼高,只是"牛人""大蝦"以爲"大牛"比他們更牛罷了。在我國,有一些當時還處於"大蝦"層的人物,也能寫出介紹如何寫操做系統的書,而且書寫得很是出色,並且寫出了一個有那麼一點點象模象樣的操做系統來。我想中國的"大牛"們是不會比西方差的,之因此沒有人寫出相似的商業產品來,徹底是社會環境的緣由,並非技術能力達不到的緣由。

    "
大牛"們之因此成爲大牛,主要的緣由是由於把"牛人"給蓋了下去,並非他們本身以爲如何牛。也許有不少菜鳥、大蝦甚至牛人以爲"大牛"這層已經到頂了,但大多數"大牛"估計應該是有自知之明的,他們知道本身如今尚未爬到半山腰,也就勉強能算個半桶水的水平,其中有些爬到這層沒有累趴下,仍然能量充沛,而且又有志者,仍是會繼續往更上一層樓爬的。

    看到這裏,也許有些菜鳥、大蝦、牛人想不明白了,還有比"大牛"們更高的樓層,那會是什麼樣的樓層?下面就來看看第5層樓的奧妙。

5層專家

    當大牛們真正動手作一個操做系統或者相似的其餘軟件時,他們就會發現本身的基本功仍然有不少的不足。之內存管理爲例,若是直接抄襲Linux或者其餘開源操做系統的內存管理算法,會被人看不起的,若是自動動手實現一個內存管理算法,他會發現如今有關內存管理方法的算法數量衆多,本身並無所有學過和實踐過,不知道到底該用那種內存管理算法。

    看到這裏,可能有些人已經明白第5層樓的奧妙了,那就是須要作基礎研究,固然在計算機裏,最重要的就是"計算"二字,程序員要作基礎研究,主要的內容就是研究非數值"計算"

    非數值計算但是一個很是龐大的領域,不只時下熱門的"多核計算""雲計算"屬於非數值計算範疇,就是軟件需求、設計、測試、調試、評估、質量控制、軟件工程等本質上也屬於非數值計算的範疇,甚至芯片硬件設計也一樣牽涉到非數值計算。若是你尚未真正領悟"計算"二字的含義,那麼你就沒有機會進到這層樓來。

    可能有人仍然沒有明白爲何比爾·蓋茨被劃在了大牛層,沒有進到這層來。雖然比爾·蓋茨大學未畢業,學歷不夠,可是家有藏書2萬餘冊,進入軟件這個行業比絕大部分人都早,撇開他的商業才能不談,即便只看他的技術水平,也能夠算得上是學富五車,頂上幾個普通的計算機軟件博士之和是沒有問題的,比起Linus Torvalds之類的"大牛"們應該技高一籌纔對,怎麼還進不了這層樓呢?

很是遺憾的是,Windows操做系統的實現來看,其對計算的理解是很膚淺的,若是把Google對計算方面的理解比作大學生,比爾·蓋茨只能算作一個初中生,因此比爾·蓋茨永遠只能作個大牛人,成不了"專家"

    看到這裏,也許國內的大牛們要高興起來了,原來比爾·蓋茨也只和我等在同一個層次,只要再升一層就能夠超越比爾·蓋茨了。不過爬到這層可沒有從"牛人"升爲"大牛"那麼簡單,人家比爾·蓋茨都家有2萬多冊書,讓你看個500~1000本以上的專業書籍並掌握好它應該要求不高吧。固然,這並非主要的條件,更重要的是,須要到專業的學術站點去學習了,到ACMIEEEElsevierSpringerLinkSIAM等地方去下載論文應該成爲你的按期功課,使用Google搜索引擎中的學術搜索更是應該成爲你的平常必修課。此外,你還得常常關注是否有與你研究相關的開源項目冒出來,例如當聽到有TBB這樣針對多核的開源項目時,你應該第一時間到Google裏輸入"TBB"搜索一下,將其源代碼下載下來好好研究一番,這樣也許你的一隻腳已經快邁進了這層樓的門檻。

當你象我上面說的那樣去作了之後,隨着時間的推移,總會有某天,你發現,在不少小的領域裏,你已經學不到什麼新東西了,全部最新出來的研究成果你幾乎都知道。此時你會發現你比在作"牛人""大牛"時的水平不知高出了多少,可是你一點也""不起來,由於你學的知識和思想都是別人提出來的,你本身並無多少本身的知識和思想分享給別人,因此你還得繼續往樓上爬才行。

    我不知道國內的"專家"到底有多少,不過有一點能夠確定的是,若是把那些專門蒙你們的"磚家"也算上的話,咱們的磚家比西方的要多得多。

6層學者

    "專家"們想繼續往上一層樓爬時,他們幾乎一眼就能夠看到樓梯的入口,不過令他們吃驚的是,樓梯入口處豎了一道高高的門檻,上面寫着"創新"二字。不幸的是,大多數人在爬到第5層樓時已經體能消耗過分,無力翻過這道門檻。

有少數體能充足者,能夠輕易翻越這道門檻,可是並不意味着體力消耗過分者就沒法翻越,由於你只是暫時尚未掌握恢復體能的方法而已,當掌握了恢復體能的方法,將體能恢復後,你就能夠輕易地翻越這道門檻了。

    怎麼才能將體能恢復呢?咱們的老祖宗"孔子"早就教導過咱們"溫故而知新",在英文裏,研究的單詞是"research",其前綴"re""search"分別是什麼意思不用我解釋吧。或許有些人以爲"溫故而知新""research"有些抽象,很差理解,我再給打個簡單的比方,好比你在爬一座高山,爬了半天,中途體力不支,怎麼恢復體力呢?天然是休息一下,從新進食一些食物,體力很快就能夠獲得恢復。

    由此可知,對體能消耗過分者,休息+從新進食一般是恢復體能的最佳選擇。惋惜的是,國內的老闆們並不懂得這點,他們的公司裏不只連正常國家規定的休息時間都不給足,有些公司甚至有員工"過勞死"出現。因此國內能翻越"創新"這道門檻的人是"少之又少",和西方比起來估計是數量級的差異。

    再說說從新進食的問題,這個從新進食是有講究的,須要進食一些基礎性易消化的簡單食物,不能進食山珍海味級的複雜食物,不然很難快速吸取。以查找爲例,並非去每天盯着那些複雜的查找結構和算法進行研究,你須要作的是將二分查找、哈希查找、普通二叉樹查找等基礎性的知識好好地複習幾遍。

    以哈希查找爲例,首先你須要去將各類衝突解決方法如鏈式結構、二次哈希等編寫一遍,再試試不一樣種類的哈希函數,而後還須要試試在硬盤中如何實現哈希查找,並考慮數據從硬盤讀到內存後,如何組織硬盤中的數據才能快速地在內存中構建出哈希表來,...,這樣你可能須要將一個哈希表寫上十幾個不一樣的版本,並比較各個版本的性能、功能方面的區別和適用範圍。

    總之,對任何一種簡單的東西,你須要考慮各類各樣的需求,以需求來驅動研究。最後你將各類最基礎性的查找結構和算法都瞭然於胸後,或許某天你再看其餘更復雜的查找算法,或者你在散步時,腦殼裏靈光一現,忽然間就發現了更好的方法,也就從專家晉升爲"學者"了。

    學者所作的事情,一般都是在前人的基礎上,進行一些小的優化和改進,例如別人發明了鏈式基數排序的方法,你第1個發現使用必定的方法,能夠用數組替代鏈表進行基數排序,性能還能獲得進一步提升。

    因爲學者須要的只是一些小的優化改進,所以中國仍是有必定數量的學者。不過和國外的數量比起來,估計少了一個數量級而已。

也許有人會以爲如今中國許多公司申請專利的數量達到甚至超過西方發達國家了,咱們的學者數量應該不會比他們少多少。所以,有必要把專利和這裏說的創新的區別解釋一下。

    所謂專利者,只要是之前沒有的,新的東西,均可以申請專利;甚至是之前有的東西,你把他用到了一個新的領域的產品裏去,也能夠申請專利。好比你在房子裏造一個水泥柱子,只要之前沒有人就這件事申請專利,那麼你就能夠申請專利,而且下次你把水泥柱子挪一個位置,又能夠申請一個新的專利;或者你在一個櫃子上打上幾個孔,下次又把孔的位置改一改,...,都可申請專利。

    這層樓裏所說的創新,是指學術層面的創新,是基礎研究方面的創新,和專利的概念是徹底不一樣的,難度也是徹底不一樣的。你即便申請了一萬個象那種打孔一類的專利,加起來也夠不到這層樓裏的一個創新。

    當你爬到第6層樓時,你也許會有一種突破極限的快感,由於你終於把那道高高的寫着"創新"二字的門檻給翻過去了,實現了"0"的突破。這時,你也許有一種"獨上高樓,慾望盡天涯路"的感受,可是很快你會發現看到的都是比較近的路,遠處的路根本看不清楚。若是你還有足夠的體力的話,你會想爬到更高一層的樓層去。

7層大師

    從第6層樓爬到第7層樓,並無多少捷徑可走,主要看你有沒有足夠的能量。你若是能象Hoare同樣設計出一個快速排序的算法;或者象Eugene W. Myers同樣設計出了一個用編輯圖的最短路徑模型來解決diff問題的算法;或者象M.J.D. Powell同樣提出了一個可以處理非線性規劃問題的SQP方法;或者你發現基於比較的排序算法,它的複雜度下界爲O(NLogN);或者你發現用棧能夠將遞歸的算法變成非遞歸的;或者你設計出一個紅黑樹或者AVL樹之類的查找結構;或者你設計出一個象C++Java同樣的語言;或者你發明了UML...,你就爬到了第7層,晉升爲"大師"了。

    上面舉的這些例子中,其中有些人站的樓層比這層高,這裏只是爲了形象說明而舉例他們的某個成就。從上面列出的一些大師的貢獻能夠看出,成爲大師必需要有較大的貢獻。首先解決問題必須是比較重要的,其次你要比前輩們在某方面有一個較大的提升,或者你解決的是一個全新的之前沒有解決過的問題;最重要的是,主要的思路和方法必須是你本身提供的,再也不是在別人的思路基礎上進行的優化和改進。

    看了上面這些要求,若是能量不夠的話,你也許會以爲有些困難,因此不是每一個人都能成爲"大師"的。中國軟件業裏能稱得上是"大師"的人,用屈指可數來形容,估計是綽綽有餘。值得一提得是,國外的"大師"就象咱們的"大牛"同樣滿天飛的多。

    我把我猜想本國有可能進到這層樓的大師列一下,以起個拋磚引玉的做用。漢王的"手寫識別"技術因爲是徹底保密的,不知道它裏面用了什麼思想,原創思想佔的比重有多少,所以不知道該把它劃到這層樓仍是更高一層樓去。原山東大學王小云教授破解DESMD5算法時,用到的方法不知道是否是徹底原創的,若是是的話也可進到這層樓來。

    陳景潤雖然沒有完全解決哥德巴赫猜測,但他在解決問題時所用的方法是創新的,所以也能夠進到這層樓來。固然,若是能完全解決哥德巴赫猜測,那麼能夠算到更高的樓層去。

    求伯君和王志東等大牛們,他們在作WPS和表格處理之類的軟件時,不知是否有較大的原創算法在裏面,若是有的話就算我錯把他們劃到了大牛層。因爲所學有限,不知道國內還有那些人可以得上"大師"的級別,或許有少許作研究的教授、院士們,能夠達到這個級別,有知道的不妨回個帖子晾一晾。

    鑑於"大師"這個稱號的光環效應,相信有很多人夢想着成爲"大師"。或許你看了前面舉的一些大師的例子,你會以爲要成爲大師很是困難。不妨說一下,如今有一條通往"大師"之路的捷徑打開了,那就是多核計算領域,有大量的處女地等待你們去挖掘。

    之前在單核時代開發的各類算法,如今都須要改寫成並行的。數據結構與算法、圖像處理、數值計算、操做系統、編譯器、測試調試等各個領域,都存在大量的機會,可讓你進到這層樓來,甚至有可能讓你進到更高一層樓去。

8層科學家

    科學家向來都是一個神聖的稱號,所以我把他放在了大師之上。要成爲科學家,你的貢獻必須超越大師,不妨隨便舉一些例子。

    若是你象Dijkstra同樣設計了ALGOL語言,提出了程序設計的三種基本結構:順序、選擇、循環,那麼你能夠爬到第8層樓來。順便說一下,即便拋開這個成果,Dijkstra憑他的PV操做和信號量概念的提出,一樣能夠進到這層樓。

    若是你象Don Knuth同樣,是數據結構與算法這門學科的重要奠定者,你也能夠進到這層樓來。固然,數據結構和算法這門學科不是某我的開創的,是許多大師和科學家集體開創的。

    若是你象巴科斯同樣發明了Fortran語言,並提出了巴科斯範式,對高級程序語言的發展起了重要做用,你也能夠進到這層樓來。 或者你象Ken
Thompson
Dennis
Ritchie
同樣發明了Unix操做系統和功能強大、高效、靈活、表達力強的C語言,對操做系統理論和高級編程語言均做出重大貢獻,那麼你也能夠進到這層樓來。

    或者你有Frederick P. Brooks同樣機會,能夠去領導開發IBM的大型計算機System/360OS/360操做系統,並在失敗後反思總結,寫出《人月神話》,對軟件工程做出里程碑式的貢獻,你也能夠進到這層來。

    或者你提出了面向對象設計的基本思想,或者你設計了互聯網的TCP/IP協議,或者你象Steven A.Cook同樣奠基NP徹底性的理論基礎,或者你象Frances Allen同樣專一於並行計算來實現編譯技術,在編譯優化理論和技術取得基礎性的成就,,都可進入這層。

    固然,若是你發明了C++語言或者Java語言,你進不到這層來,由於你用到的主要思想都是這層樓中的科學家提出的,你本身並無沒有多少原創思想在裏面。

    看了上面列出的科學家的成就,你會發現,要成爲科學家,一般要開創一門分支學科,或者是這個分支學科的奠定者,或者在某個分支學科裏做出里程碑式的重大貢獻。若是作不到這些的話,那麼你能象Andrew C. Yao(姚期智)同樣在對計算理論的多個方向如僞隨機數生成,密碼學與通訊複雜度等各個方向上做出重要貢獻,成爲集大成者,也能夠進入這層樓。

    成爲科學家後,若是你有幸象Dijkstra同樣,出如今一個很是重視科學的國度。當你去世時,你家鄉滿城的人都會自動地去爲你送葬。不過若是不幸生錯地方的話,能不挨板磚估計就算萬幸了。

    從上面隨便舉的一些例子中,你可能能猜到,西方科學家的數量是很是多的,因而你會想中國應該也有少許的科學家吧?我能夠很負責任地告訴你一個不幸的結果,中國本土產生的科學家的數量爲0。目前在國內,軟件領域的惟一的科學家就是上面提過的姚期智,仍是國外請回來的,並非本土產生的。

    可能你不一樣意我說的本土科學家數量爲0的結論,由於你常常看到有許多公司裏都有所謂首席XX科學家的頭銜。我想說的是,這些所謂的首席XX科學家都是遠遠夠不到這層樓的級別的,有些人的水平估計也就是一個牛人大牛的級別,好一點的最多也就一個學者的級別。尤爲是那些被稱做首席經X學家的,基本上能夠把稱號改成首席坑你們

    雖然我國沒有人能爬到這層樓上來,可是西方國家仍然有許多人爬到了比這層更高的樓上。若是要問咱們比西方落後多少?那麼能夠簡單地回答爲:落後了三層樓。下面就來看看咱們作夢都沒有到過的更高一層樓的祕密。 編程

9 大科學家 設計模式

進入這層樓的門檻一般須要一些運氣,好比某天有個蘋果砸到你頭上時,你碰巧發現了萬有引力,那麼你能夠進到這層樓來。固然,萬有引力幾百年前就被人發現了,若是你如今處處嚷嚷着說你發現了萬有引力,恐怕立刻會有人打110,而後警察會把你送到不正常人類的彙集地去。所以,這裏舉萬有引力的例子,只是說你要有相似的成就才能進到這層樓來。 數組

牛頓發現萬有引力定律開創了經典物理運動力學這門學科,若是你也能開創一門大的學科,那麼你就從科學家晉升爲大科學家。好比愛因斯坦建立了相對論,從一個小職員變成了大科學家。固然大科學家可遠不止這兩人,數學界裏比物理學界更是多得多,如歐幾里得建立了平面幾何,笛卡爾開創解析幾何,還有歐拉、高斯、萊布尼茨等數不清的人物,跟計算相關的大科學家則有圖靈等人。 服務器

從上面列出的一些大科學家能夠發現,他們的成就不只是開創了一個大的學科,更重要的是他們的成就上升到了公理的層面。發現公理一般是須要一點運氣的,若是你的運氣不夠好的話,另外還有一個笨辦法也能夠進到這層樓來,那就是成爲集大成者。例如馮·諾伊曼,對數學的全部分支都很是瞭解,許多領域都有較大的貢獻,即便撇開他對計算機的開創貢獻,成爲大科學家照樣綽綽有餘。 網絡

固然,程序員們最關心的是本身有沒有機會變成大科學家。既然計算機這門大學科的開創性成果早就被馮·諾伊曼、圖靈等人摘走了,那麼程序員們是否是沒有機會變成大科學家了呢?咱們的古人說得好:江山代有才人出,各領風騷數百年,如今在計算機這門學科下面誕生了許多很是重要的大的分支,因此你仍是有足夠的機會進到這層樓的。

若是你可以完全解決天然語言理解(機器翻譯)這門學科中的核心問題, 或者你在人工智能或者機器視覺(圖像識別)方面有突破性的發現,那麼你一樣能夠輕易地晉升爲大科學家。這樣當某天你老了去世時,或許那天國人已經覺醒,你也能享受到如Dijkstra同樣的待遇,有滿城甚至全國的人去爲你送葬。

如今還剩下另一個你們感興趣的問題沒有討論,那就是這層中已經出現了牛頓、愛因斯坦、高斯等咱們日常人都認爲是頂級的科學家,是否是這層已是樓頂了呢?相信還記得本文標題的人應該知道如今僅僅是第9層,還有第10層沒有到達呢。可能很多人如今要感到困惑了,難道還有人站在比牛頓、愛因斯坦、高斯等人更高的樓層上?

這個世界上確實存在能夠用一隻手的手指數得清的那麼幾我的,他們爬到了第10層樓上。所以,第10層樓不是虛構的,而是確實存在的。若是對此有疑惑或者認爲我在胡謅一番的話,那麼不妨繼續往下看下去,窺一下第10層樓的祕密。

10 大哲

第10層不寫了,本身去悟吧...

相關文章
相關標籤/搜索