標籤:

頂級的程序員是怎麼樣的?


這麼多答案居然都沒一個提到 Bill Joy。

他寫了第一個能正常工作的 TCP/IP 棧,做了一個操作系統 FreeBSD,摻和了另一個操作系統 Solaris,寫了一個編輯器 Vi,搞了一個 CPU SPARC,指導創造了一門語言 Java (其實他也指導了 JavaScript 最早的實現),共同創立了一家公司 SUN。

2005 年去 KPCB 當合伙人了。


我是程序員。實習過兩家公司,說說我的觀察。

第一家公司有個技術總監,每次跟他聊天總是只感覺我差一點兒就能超過他的那個樣子,人很和藹,總是會說『我也要學一下』,然而恐怖之處在於無論和他聊什麼他都有那種『哦,這個我了解過一些,我們可以交流一下,共同學習』。無論什麼。

他很會照顧我,由於我不是科班出身的,他和我交流盡量不用術語,比如依賴倒置,他和我講的時候告訴我原理以及如何實現,並不會特意提這個名詞。

我和他聊過一些東西,從應用層到ASCII碼,從前端到GC,無所不知。而且他總是特別謙虛。

最後我走的時候說實話是很不捨得的。他拉著我說了很多,告訴我以後應該怎麼做,要多了解整個項目架構,不能只是做自己的工作。要學會幫助其他同事,解決他們的問題。要穩住自己。

我離開之後才發現,那家公司是多麼好。

第二家公司是個大公司。

我的lead,七零後。他周末在家還在學習,晚上會補作業到12點。我見過他寫lazyload,也見過他給iOS講性能優化。當然,還有非常高超的領導力。

他們寫的代碼並沒有上面說的特別優雅,我見過的,而且要說代碼的好看程度,比我寫得規範漂亮的應該也不多。他們有一個共同特點是很繁瑣,非常的繁瑣。我一度很不喜歡這種代碼,覺得很醜,而且很複雜。我問過以後終於發現和他們的差距,那叫做代碼的健壯性。

之後我再看他們寫的代碼,無論什麼情況都能扛得住,並能給出正確的錯誤處理。而我的代碼,簡短,有力,漂亮,滿是奇技淫巧,然而就是不耐操。

我的經歷所認識到的優秀程序員就是這樣:博學,謙虛,積極向上,良師益友,還有代碼十分健壯。


上周末我寫了一個純前端網站,能實時獲取Github全球、中國、互聯網城市用戶排名,以及最熱門的JavaScript、Python,Java、Swift項目。

網站在此:

實時展示Github排名 Presenting real-time ranking of Github

項目源碼在此:

https://github.com/hating/AwesomeGithub

項目的細節不在這裡細說,估計以後會寫在我專欄里,有興趣的可以關注。

題主問的是頂級的程序員是怎麼樣的,那我們的目光應該放到全球來看。所以全球頂級的程序員有哪些呢?我Rank程序員的指標是按照Github上程序員Follower的數量。根據此指標,全球Top 30的程序員有如下:

恕我見識短淺,我並不是每一個人都了解,接下來說說我了解的一些大牛吧。

Top 1:Linus Torvalds

簡介:Linux Kernel的作者,實在太厲害了。我曾經在大一時候學過《Linux內核分析》,一個學期下來才學完Linux內核如何啟動到進程創建。學過Liunx內核的人都會對Linux Kernel代碼的精美嘆為觀止。如果此時再看自己寫的代碼,簡直慘不忍睹。關於Liuns還有很多上古傳說,譬如RTFSC的典故。這個故事來源於他在回答有人提出minix 上的一個問題時,所說的第一句話是"閱讀源代碼"("RTFSC (Read the Fucking Source Code ")。他認為答案就在源程序中。這也說明了對於學習系統軟體來說,你不光需要懂得系統的工作基本原理,還需要結合實際系統,學習實際系統的實現方法。因為理論畢竟是理論,其中省略了許多枝節,而這些枝節問題雖然沒有太多的理論含量,但卻是一個系統必要的組成部分,就像麻雀身上的一根羽毛。

個人主頁在此:torvalds (Linus Torvalds)

TOP 3:TJ Holowaychuk

簡介:Node.js HTTP middleware koa的作者。koa是一個非常活躍的Github項目,在ES7正式推薦使用async/await寫法後,2.0版本很快就支持了這種寫法。這應該是Node.js最棒的中間件了。

個人主頁:tj (TJ Holowaychuk)

TOP 6:Ruan YiFeng

簡介:相信在互聯網搜索學習資料的人,很多都會偶然進入阮一峰老師的博客。博客風格雖然比較傳統,但文章的質量實在是非常的高。我是看過阮老師的《ECMAScript 6入門》的,這算是全網內ES6最棒的學習資料了,文章深入淺出而又不缺細節。更棒的是他將這本書完全開源。硬生生將國內的前端水平提高好幾個百分點。

個人主頁:ruanyf (Ruan YiFeng)

TOP 13:Douglas Crockford

簡介:JSON創始人,JSLint創造者。對,現在幾乎所有網站的數據交互方式,都是他定義的。另外,JavaScript中的穩妥對象(Durable Objects)就是他發明的。對,就是讓新手前端們哭天喊地的Closure的應用之一。不懂?這裡給個《JavaScript高級程序設計》的例子吧。

個人主頁:douglascrockford (Douglas Crockford)

TOP 14:Evan You

簡介:尤雨溪老師的Vue.js現在與Google的Angular.js以及Facebook的React.js平分天下。個人認為Vue.js的使用方式是非常優雅的,而且.vue文件的使用將Component的template/script/style放到了一起,個人認為這是一個很棒的創新。另外,http://awesomegithub.com/ 也是用Vue.js+Router寫的。

個人主頁:yyx990803 (Evan You)

TOP 23:Michael Liao

簡介:廖雪峰老師的Python教程和JavaScript教程不輸國外的HEAD FIRST系列,很多人入Python/JavaScript的坑就是因為看了廖老師的教程(包括我)。

個人主頁:michaelliao (Michael Liao)

暫時先介紹到這裡吧,如果有興趣的可以移步AwsomeGithub,裡面不僅有全國程序員根據Follower的Ranking,我也做了北上廣深航成的Ranking。另外也有根據Stargazer排名的JavaScript/Python/Java/Swift項目。

地址:實時展示Github排名 Presenting real-time ranking of Github

項目地址:hating/AwesomeGithub。

使用了Vue.js+Webpack+Router+Axios+ElementUI等框架寫的,喜歡的可以給個Star~


哎,想起了少數幾位(以前公司的)同事。聊一些自己的看法吧。

當碼農的這六七年時間,經歷了好幾家完全不同類型的公司。具體屬於哪些領域範圍什麼的,這裡先不說了。這些團隊的門檻也都算是比較高的了,很大比例都是頂級大學的計算機碩士之類的背景。所以說,身邊員工的平均水平已經是很不錯的。這種圈子以內,包括自己,基本上沒有什麼特別明顯上等下等之分。

但是偶爾會接觸到境界更高的那種神人。

不一定是年齡最大的。不一定是職位最高的。也不一定是那個最受歡迎的裝逼者。反而,往往是那個平時不怎麼說話,天天藏在角落打字,看上去獃獃的,感覺比較無聊、古怪的那個誰了。

也許好幾個月一直都不知道他/她這個人到底在幹嘛。直到終於有一天看到了對方寫的代碼,或者稍微有機會溝通一下某個問題。。。然後迅速感覺到對方的嚇人能力。這種感覺,並不是刻意比較出來的,而是一種自然發自內心的好奇--&>欣賞--&>『五體投地』敬佩,印象深刻。

如果你對「頂級」的理解就是 Top 0.0001%(比如其他答主所說的 Linus Torvalds 這樣的大神),那我就沒話說了,也許一輩子從來都沒接觸到過。

但是至於那些 top 1% 左右到底是怎樣的。。。雖然還是比較稀有,但我們也都有所親身體驗吧。我們都有時候感到自己與這種人的差距之大,或者一些莫名其妙的自卑。還是可以討論一下的。

據我觀察,這些人都有以下幾種共同特徵:

1)簡潔、清晰

代碼不存在任何繁瑣的、密集的、多餘的、重複的。

function 長度都不超過半個屏幕,深度又不超過兩層 closure(不存在for... for...)。複雜的那些流程都被組織起來,成為若干小 function,或者用多維向量式同步計算。一行代碼也不會太長,最多兩三個調用步驟(括弧)的樣子。

而且代碼文件的長度也很合理。function、class、module、package 之類的樹根關係和分類,非常理智,按照所有代碼的負責範圍、功能、主次關係、附屬關係、以及調用/引用/公用的順序條件。什麼東西適合單獨拉出來,做成一個單獨的 library/庫,也都很有道理。

再說,不存在任何奇怪的雜數、變數名、函數名,等等。configuration和tests之類的,都很詳細完整,又超級乾淨、易懂。所有 types/structs 的定義,內的,外的,也都是清楚分類,還有資料庫結構什麼的,都很靈活簡單,又嚴格。

這種嚴格簡化,並不屬於格式癖、強迫症、等等毛病。

純粹是為了讓自己和其他讀者一眼看懂所有代碼。代碼容易理解,容易更改,更別說容易利用/開啟。看到這樣的代碼,感覺好美啊,用不著任何comments等來說明解釋作者的思路。

說白了,就是作者自己思路清晰的表現。從一開始計劃,就已經預料到了整個結構的需求,以及考慮到了許多未來需求。

2)細緻、耐心

遇到新問題/bug的時候,大部分工程師只會想辦法避免,隱藏。比如加幾個 if。

其實這種處理方式相當於治表不治本。而且會讓代碼越來越繁瑣,大大提高未來更多bug出現的概率。

高級程序員,他們會焦慮很久,反覆把矛盾拆開;理解整個系統哪裡不對勁;比如哪個核心假設有錯。然後想辦法修改整個系統,提高輸入輸出容忍度,保持整體簡潔程度。以及加test。

他們這樣做,經常顯得效率比較慢,有點煩人。但是個人覺得,考慮一下長期利弊,這樣處理問題是比較正確的。他們在開發新東西的時候,也可能用了更長時間才完成,一樣值得。

細緻的另外一些優勢;他們腦子很清楚每個函數的輸出、輸入格式,以及函數的責任。

更厲害的是:還很熟知每個東西的佔用時間和佔用資源,(還有complexity),細到每一行,幾個微秒納秒。也知道不同伺服器的速度差異,伺服器之間的時間距離,線程之間的距離,等等好多。他們知道哪些東西最值得優化。對這些方面都很敏感,也總有一大列自己不滿意的地方,追求完美的心不死。隨便問一下,他們可以告訴你這個過程在不同情況下的時間和資源需求,也不需要真的去做測試做分析。有時候真的很誇張!

3)靈活、萬能

這種感覺來自他們對新事物的理解掌握速度。

這種高能程序員,本來就肯定熟悉了至少三四門計算機語言,用過好幾百個庫。這些經驗足以讓他們快速看懂其它沒接觸過的東西,直接下手更改或利用。

每次思考新問題,新的項目。。。一般工程師都是直接開始用自己最熟悉的工具來實現。但是對於頂級的那些來說,總有好多好多選擇。他們能研究利與弊,同時想辦法把將來的複雜程度最小化。如果一定要用自己不熟悉的工具,新的語言,也完全願意,無障礙。

或者說,他們可以幫助其他團隊解決跟自己領域不太相關的問題。並且提出各種中肯建議,討論起一些人家都沒思考過的事。人家能有這種能力,讓人感覺好佩服。很多時候自己都沒開過這種腦洞,事情突然簡單了很多,每次或多或少,都有點慚愧。

更誇張的是:他們的豐富經驗給他們帶來了一種莫名其妙的自信、勇敢。沒有適合的工具?好吧,自己寫一個出來。沒有這種服務、API、功能?好吧,自己做一個出來。有時候甚至發明自己的子語言來表達或處理新的一類問題。

大家覺得很系統、很基本、很固定的那些東西,大神們都看作小事,隨便主動改一下,或者擴大功能,這些都無所謂了。什麼都不怕。

還很會替其他團隊朋友考慮,經常獨立主動開庫,把新東西分享給大家一起用,甚至徹底公開、open-source。

4)懶

這裡說的「懶」,不是貶義的!

意思是:這些人時時刻刻都在想辦法減少自己的負擔。

只要一個東西需要手動做兩次,他們就會立馬想辦法自動化。總是寫好多腳本負責每天要做的那些無聊事。腳本又都是整理得很清楚的,自動化的。

懶到什麼程度;舉幾個例子:

有個朋友不想查每天的運動比賽怎麼匹配(因為不同網站的命名雜七雜八)。所以設置每個小時,只要出現無法匹配的東西,直接給他發郵件鏈接讓他可以點進去處理。不僅是個腳本,那個鏈接也是他自己花了一天做出來的小網站,專門為了處理這種問題。點幾次滑鼠就完事了。暈!(以前其他公司都沒想到這個減少時間的幾個手段,還僱傭人專門每天手動核對,呵呵)

之前公司有的人需要每次下交易,跟skype的人溝通,下單。最後感覺很煩,寫了一個自動程序負責跟這個人自動交流。後來徹底自動化了,包括每天的利潤報告都是自動生成。還蠻搞笑的。因為那個人說話也像機器一樣,都是固定句子格式,可能到現在還沒發現對方是掛機程序。(那家公司超懶,幾乎所有功能都是chat裡面說說的,對方程序接受命令並實現,根本不用手動登陸伺服器什麼的)

以前在谷歌,有個臨時工,每天需要填時間收費表等等。還需要加進去各種他用的伺服器之類的還有lunch的cost。哈哈。。。最後他也基本上自動化了,直接生成pdf並發送。

谷歌那裡還有好多類似的真實故事。有個谷歌地圖餐廳搜索的人,每天中午的責任就是出去研究餐廳,為了測試。這個人嫌棄地圖搜索的好多功能。比如倫敦不同中午吃飯的地方,他想同時用顏色畫出來,代表走路+坐車最小距離,以及考慮關門時間。最後,他做得越來越高級,可以直接在地圖上顯示一個顏色2D完整分布,然後開了一家startup專門幫人找滿足多個地理條件的房子。很酷的。

最早的一家小公司,只有四個程序員。有個羅馬尼亞同事超牛,還比我小兩歲!也完全符合上下所有條件。正是他讓我學會了python還有好多東西,比如資料庫、爬蟲。

但是最有趣的是他做了自己的瀏覽器插件,篩選了屏蔽了不想看到的好多內容,改變了好多常用社交網站的顯示格式,也提供了不少功能。比如說,他可以直接看到所有辭彙的羅馬尼亞語翻譯,郵件電話號等等直接一鍵打開。也把 bookmarks bar 做成了樹根格式(當時還一點都沒有這些功能)。這個人後來也做了自己的python編譯器,以及python版本,至今都感覺好神奇。很想挖他來工作。

當然還有那種玩網路小遊戲玩膩了,自己做AI出來替自己玩

這些人,花了一天時間,卻每天減少了別人10-30分鐘的時間,或者完全取代了一個職位。為了自己而開發個人小玩意。估計好多天天裝逼自戀的同事也都沒想過自己每天在浪費多少時間搞小事。而公司根本意識不到它自己本身有多浪費(多二)。

高級程序員都是這樣的心態。

5)性格、背景

另外發現了一些趣事。這幾個人最大共同點就是從很小年齡開始對計算機感興趣。都是十二歲左右開始寫程序解決問題,或者編輯遊戲做mod之類的。

而大多數後來才認真學編程的人,(大多數人類似吧),根本無法跟上他們的節奏和經驗。

然後他們都比較安靜,不太擅長社交。跟我一樣,大概都是阿斯伯格。

好像。。。很多也都沒有男女朋友(?)

頂級程序員肯定迷戀於計算機的所有運轉細節,根本不想花時間處理人類。有時候顯得非常驕傲,但是他們一般都是對的。至少,他們的好多預測都成立了,不僅是公司內部的事,好多科技趨勢他們也都早就相通了。

對我來說,這就是神人一級的程序員。從他們身上能學到好多好多非常有價值的概念。

-----分割線-----

最近剛開的公眾號,歡迎關注


近日,ITWorld整理全球最傑出的14位程序員,一起來看下讓我們膜拜的這些大神都有哪些?(排名不分先後)

1. Jon Skeet

個人名望:程序技術問答網站Stack Overflow總排名第一的大神,每月的問答量保持在425個左右。

個人簡介/主要榮譽:谷歌軟體工程師,代表作有《深入理解C#(C# In Depth)》。

網路上對Jon Skeet的評價:

  • 「他根本不需要調試器,只要他盯一下代碼,錯誤之處自會原形畢露。」
  • 「如果他的代碼沒有通過編譯的時候,編譯器就會道歉。」
  • 「他根本不需要什麼編程規範,他的代碼就是編程規範。」

2. Gennady Korotkevich

個人聲望:編程大賽神童

個人簡介/主要榮譽:年僅11歲時便參加國際信息學奧林比克競賽,創造了最年輕選手的記錄。在2007-2012年間,總共取得6枚奧賽金牌;2013年美國計算機協會編程比賽冠軍隊成員;2014年Facebook黑客杯冠軍得主。截止目前,穩居俄編程網站Codeforces聲望第一的寶座,在TopCoder演算法競賽中暫列榜眼位置。

網路上對Gennady Korotkevich的評價:

  • 「一個編程神童。」
  • 「他太令人驚訝了,他相當於我在白俄羅斯建立了一支強大的編程隊伍」
  • 「徹底的編程天才」

3. Linus Torvalds

個人名望:Linux之父

個人簡介/主要榮譽:

  • Linux和Git之父,一個開源的操作系統;
  • 1998年EFF(電子前沿基金會)先鋒獎得主;
  • 2000年英國計算機學會Lovelace獎章得主;
  • 2012年千禧技術獎得主;
  • 2014年IEEE(電氣和電子工程師協會)計算機學會先鋒獎得主;
  • 2008年入選計算機歷史博物館名人堂;
  • 2012年入選互聯網名人堂。

網路上對Linus Torvalds的評價:「他簡直優秀得無與倫比。」

4. Jeff Dean

個人名望:谷歌搜索索引技術的幕後大腦。

個人簡介/主要榮譽:谷歌大規模分散式計算系統的設計師,例如:站點爬行,索引與搜索,在線廣告,MapReduce,BigTable以及Spanner(分散式資料庫)。2009年進入美國國家工程院;2012年美國計算機協會SIGOPS Mark Weiser Award以及Infosys Foundation Award獎項得主。

網路上對Jeff Dean的評價:

  • 「使數據挖掘取得了突破性發展。」
  • 「能夠在各項工作都已安排得滿滿的情況下,仍能構思、創作、發布出MapReduce以及BigTable這些令人讚嘆不已的工具。」

5. John Carmack

個人名望:第一人稱射擊遊戲經典師祖《Doom》(毀滅戰士)之父

個人簡介/主要榮譽:id Software公司聯合創始人,製作了很多膾炙人口的遊戲,如:《德軍司令部》(Wolfenstein 3D,又名《刺殺希特勒》)、《Doom》(毀滅戰士)、《Quake》(雷神之錘)。引領了很多計算機顯示領域的新技術,包括:adaptive tile refresh(切片適配更新)、binary space partitioning(二元空間分割)、surface caching(平面緩存);2001年進入互動藝術與科學學院名人堂;2010年收穫遊戲開發者精選獎終身成就獎殊榮。

網路上對John Carmack的評價:

  • 「製作了很多革命性的第一人稱射擊遊戲,影響了一代又一代的遊戲設計者。」
  • 「他能在一周內就完成任何的基礎設計工作。」
  • 「他是會編程的莫扎特。」

6. Richard Stallman

個人名望:Emacs文本編輯器,多種語言編譯器GCC的創造者。

個人簡介/主要榮譽:GNU項目發起人,開發出很多核心工具,例如:Emacs,GCC,GDB和GU Make Free Software公司創始人。1990年獲得美國計算機協會Grace Murray Hopper獎項;1998年獲得EFF(電子前沿基金會)先鋒獎。

網路上對Richard Stallman的評價:

  • 「曾獨自一人與一眾Lisp黑客好手進行比賽,那次是Symbolics對陣LMI。」
  • 「儘管我們對事物有不同看法,但他一定是最有影響力的程序員,無論現在還是將來。」

7. PetrMitrechev

個人名望:最有競爭力的程序員之一。

個人簡介/主要榮譽:分別在2000年與2012年收穫國際奧林匹克信息競賽金牌;2011年與2013年贏得Facebook黑客杯賽;在2006年贏得谷歌Code Jam程序設計大賽以及TopCoder演算法公開賽;截止目前,暫列TopCoderPetr演算法競賽首位,在Codeforces中排行第五。

網路上對PetrMitrechev的評價:

「即使在印度,他都是程序設計競賽者心中的偶像。」

8. FabriceBellard

個人名望:開發出模擬處理器的自由軟體QEMU。

個人簡介/主要榮譽:開發了許多著名的開源軟體,例如:QEMU硬體模擬虛擬平台,FFmpeg多媒體數據處理軟體,Tiny C編譯器,LZEXE解壓縮軟體。在2000年與2001年贏得國際C語言混亂代碼設計大賽冠軍;2011年贏得谷歌O』Reilly開源設計獎;前圓周率計算精度世界紀錄保持者。

網路上對FabriceBellard的評價:

  • 「他的作品總是令人印象深刻和光芒四射。」
  • 「世界上最有創造力的程序員。」
  • 「他是軟體工程領域的尼古拉·特斯拉。」

9. Doug Cutting

個人名望:開發出開源全文檢索引擎工具包Lucene。

個人簡介/主要榮譽:除了Lucene,還開發了著名的網路爬蟲工具Nutch,分散式系統基礎架構Hadoop,這些大師級作品都是開源的。目前任職Apache軟體基金會主席。

網路上對Doug Cutting的評價:

  • 「他開發出卓越超群的全文檢索引擎工具包(Lucene/Solr)以及為世界打開了一扇通往大數據的大門。」
  • 「開源的Lucene以及Hadoop為全球創造了無數的財富以及就業機會。」

10. Donald Knuth

個人名望:《計算機程序設計藝術》(The Art of Computer Programming)一書的作者。

個人簡介/主要榮譽:著有數本影響深遠的程序設計理論書籍;發明了TeX數字排版系統;在1971年成為首位獲得美國計算機協會Grace Murray Hopper獎項的人士;1974年獲得美國計算機協會A.M. Turning獎項;1979年被授予國家科技獎章;1995年被授予電氣和電子工程師協會John von Neumann獎章;1998年入選計算機歷史博物館名人錄。

網路上對Donald Knuth的評價:

「我曾經有幸使用過一款無限接近零錯誤的大型軟體,它就是TeX。」

11. Anders Hejlsberg

個人名望:創造了Turbo Pascal。

個人簡介/主要榮譽:Turbo Pascal的原作者,Turbo Pascal是最受歡迎的Pascal編譯器之一,也首次為Pascal帶來整合的開發環境。主導開發了Turbal Pascal繼承者Delphi。首席C#設計師與架構師;2011年獲得Dr.Dobb』s Excellence in Programming榮譽。

網路上對Anders Hejlsberg的評價:

「我崇敬的程序大師,是我通往專業軟體設計師道路上的領路人。」

12. Ken Thompson

個人名望:創造了Unix

個人簡介/主要榮譽:與Dennis Ritchie一起創造了Unix。

同時也是B程序語言,UTF-8編碼,ed文本編輯器的創造者、設計者。Go程序語言的開發者之一。1983年與Ritchie一起被授予美國計算機協會A.M. Turning獎項;1994年IEEE(電氣和電子工程師協會)計算機學會先鋒獎得主;1998年被授予國家科技獎章;1997年入選計算機歷史博物館名人錄。

網路上對Ken Thompson的評價:

「世界上最傑出的程序員。」

13. Adam D"Angelo

個人名望:問答SNS網站Quora的創辦人之一。

個人簡介/主要榮譽:前Facebook CTO、研發副總裁,創建了news feed(信息流)的基礎架構。SNS網站Quora的創辦人之一。2001年以高中生身份參加美國計算機奧林匹克競賽,最終取得第八名的佳績。2004年幫助加州理工學院摘下ACM國際大學生程序設計大賽團體銀牌。2005年進入Topcoder大學校際演算法競賽決賽

網路上對Adam D"Angelo的評價:

  • 「一位程序設計全才。」
  • Mark Zuckerberg的評價:
  • 「我做的每一個好東西,他都能做出六個。」

14. Sanjay Ghemawat

個人名望:Google架構師團隊中的核心人物。

個人簡介/主要榮譽:幫助Google設計並推出了大型發布式計算系統,包括:MapReduce、BigTable、Spanner以及Google文件系統。開發出Unix ical日曆系統;2009年進入國家工程院;2012年美國計算機協會Infosys Foundation Award獎項得主。

網路上對Sanjay Ghemawat的評價:

「Jeff Dean的最佳拍檔

原文鏈接:全球最傑出的14位程序員-CSDN.NET

補充部分:

1. 丹尼斯·里奇 Dennis Ritchie

個人名望: C語言之父,UNIX之父

個人簡介/主要榮譽: 美國計算機協會(ACM)授予的系統及語言傑出論文獎(1974);電氣和電子工程師協會(IEEE)的 Emmanuel Piore 獎(1982);貝爾實驗室特別人員獎(1983);美國計算機協會(ACM)的圖靈獎(1983); NEC公司的基金獎(1989);電氣和電子工程師協會(IEEE)的優秀獎章(Hamming Medal)(1990)

評價:

如果說,喬布斯是可視化產品中的國王,那麼里奇就是不可見王國中的君主 。

牛頓說他是站在巨人的肩膀上,如今,我們都站在里奇的肩膀上


程序員這個詞比較模糊,有些科學家級別的也是天天寫代碼,算程序員么?直接說頂級計算機科學家可能列幾位。


1:國內外知名人物。要麼是什麼大公司老總,要麼是什麼教派的祖師爺。額,聽說java祖師爺差點工作都找不到?微軟始祖大概數錢玩去了吧。李那廝應該還在和開源的小夥伴們快樂的玩耍。Frederick Brooks之類的,一講話已經是「我給你講個我們給五角大樓設計直升機的故事吧」。

2:wrox紅皮書系列……頂不頂級我不知道,但是完全就是程序員相冊。

3:特別要提出的是國內一位已故的程序員,小兒麻痹導致下肢癱瘓,而且只有初中學歷,卻佔據了國產殺毒軟體的重要地位。扯個閑話呢,我覺得這個殺毒軟體的吉祥物特別可愛。

順便講個十多年前的段子:

CPU溫度過高怎麼辦?外敷硅膠散熱,內服CPU cool退燒!中了病毒呢?用KV3000啊!


只說國內的,陸續補充

1.百度李彥宏,紐約州立大學計算機碩士

2.QQ馬化騰,深圳大學計算機專業

3.360周鴻禕,西安交大計算機學士

4.迅雷鄒勝龍,美國Duke University計算機碩士

5.京東商城劉強東,人民大學畢業,中國第一代程序員中排得上號的

6.小米手機雷軍,武大計算機學位

7.史玉柱,深圳大學軟體科學系研究生


(?????)


不敢說世界頂級,如果去了後面幾句話,在中國應該也算頂級了吧,個人愚見。。。


Dennis Ritchie

合力創建unix,現代操作系統鼻祖,至今仍然活躍在伺服器市場。

神一樣的老爺爺


給焊接機器人編程或給機床編程的「程序員」也算程序員嗎?算得話,所謂頂級程序員就是能在第一時間找出出現焊接問題或機加工問題的原因,且快速解決。也就是所謂的Debug能力比較強。

附一段日本神鋼焊接機器人的「程序」

0 程序名稱=109

1 平滑等級 15

2 空走前端速度 50m/min

3 空走各軸速度 50%

4 3方向感測 初期化

5 圓弧感測 初期化

6 焊接長感測 初期化

7 多層堆焊形式 2

8 直線 直1 P1

9 直線 直1 P2

10 焊接電流 300A

11 電弧電壓 100%

12 焊接速度 35cm/min

13 擺動寬度 3mm

擺動次數 120次/min

擺動停止時間 0s

14 電弧 ON

15 直線 直1 P3

16 電弧 OFF

17 直線 直1 P4

【程序終了】


我就想知道,為什麼這個問題下有這麼多被摺疊的答案。。。。估計我的這個也要被摺疊了


說出來你可能不信 我很了解


用計算機知識解決問題的能力最頂級的人


工資高。據了解,Google的職位最高端的高級工程師,每年有 $630k base pay, $80k bonus, $300k stock。


先說答案:比爾蓋茨,拉里佩奇,謝爾蓋布林。

共同點都是間接或直接創造了偉大的產品,改變了人們的生活習慣。

Google"s mission is to organize the world"s information and make it universally accessible and useful.

作為一名谷粉,非常佩服 Sergey Mikhaylovich Brin 與 Lawrence Edward "Larry" Page 。

在我心中就是他們這樣的,借用一句話:

Google 人類的希望。

作為一名軟粉,對比爾蓋茨卻不怎麼崇拜,不知道是不是年代差距的原因。雖然身上一直帶著微軟手機,用著windows筆記本。


簡單,像我


推薦閱讀:

真正「自學」入門編程/程序員是一種怎樣的體驗?
程序員加班正常嗎,加班和老婆/女朋友吵架正常嗎?
26歲了漂泊在外,還沒有對象,被父母不斷催婚是一種什麼樣的體驗?
為什麼女程序員少?
非計算機相關專業學生對自身專業不看好時應該堅持本專業還是半路出家當程序員?

TAG:程序員 |