真正优秀的程序员有哪些与众不同之处?
“當(dāng)你50歲時(shí),還愿意編程嗎?”這個(gè)話題在Hacker News上眾說紛紜,不過我們能夠看到,那些真正成功的程序員,如John Carmack、Peter Norvig、Jeff Dean,即使他們不再年輕,但依然對(duì)編程充滿熱情,他們身上有哪些與眾不同之處,又有哪些值得我們學(xué)習(xí)?有人進(jìn)行了總結(jié)。
1. 選擇當(dāng)前科技領(lǐng)域的一個(gè)小子集,親近它、擁抱它,并且嘗試推進(jìn)這個(gè)小領(lǐng)域的發(fā)展。
2. 理解不同數(shù)據(jù)結(jié)構(gòu)和算法的優(yōu)缺點(diǎn),不單是內(nèi)存中,還有磁盤上的表現(xiàn)。
3. 首先深刻理解你所在的領(lǐng)域,然后拋開計(jì)算機(jī),像普通用戶那樣觀察和體會(huì)。
4. 時(shí)刻準(zhǔn)備好(包括能力和心理上)向深層探索,不僅僅是一兩層,而是好幾層。要知道,是否能在編程時(shí)勢(shì)如破竹,與你所能達(dá)到的技術(shù)深度關(guān)聯(lián)緊密。
5. 運(yùn)用你的想象力,總是問這樣的問題“還有更好的辦法嗎?”跳出固有的思維模式,最好的實(shí)現(xiàn)方式也許還沒有人嘗試過。
6. 永遠(yuǎn)不要過早退出,不要兩次編寫同一段代碼,不要將一個(gè)變量命名為另一個(gè)變量的子集。如果不理解這些規(guī)則,也許你會(huì)爭(zhēng)辯,不過一旦你這么做了,它們就能幫助你寫出更好的代碼,否則你將永遠(yuǎn)停留在初級(jí)程序員的水平。
7. 學(xué)習(xí)如何進(jìn)行基準(zhǔn)測(cè)試,學(xué)會(huì)的那一天,你會(huì)發(fā)現(xiàn)世界將變得不同。
8. 學(xué)會(huì)如何分辨瑣事和細(xì)節(jié),只將精力集中于細(xì)節(jié)。
9. 不要總是向你的用戶和管理者妥協(xié),有時(shí)應(yīng)該讓他們知道,他們自以為的并不是那么重要。
10. 寫一個(gè)框架,無論你是否計(jì)劃使用它。這個(gè)過程會(huì)讓你學(xué)到靠其他方式無法學(xué)到的東西。
11. 把學(xué)到的東西教給別人,無論是口口相授還是文以載道,你都會(huì)發(fā)現(xiàn)自己也能從這個(gè)過程中收獲良多。
12. 找到旁人寫的這樣一些代碼——它們實(shí)現(xiàn)了重要的功能,但寫得并不夠聰明。重寫它們,然后告訴自己永遠(yuǎn)不要犯相同的錯(cuò)誤。
13. 在人生的某個(gè)時(shí)候,運(yùn)營你自己的事業(yè)(服務(wù)或產(chǎn)品)。你能從中學(xué)到當(dāng)職員時(shí)無法領(lǐng)悟的編程技巧。
優(yōu)秀程序員:
John Carmack:約翰·卡馬克(John Carmack的全名是John D. Carmack II) ,他生于1970年8月20日),是享譽(yù)世界的著名程序員,在電視游戲領(lǐng)域被尊為偶像。Carmack是id Software的創(chuàng)始人之一,id是一家專門開發(fā)電子游戲、電視游戲的公司,成立于1991年。
所開發(fā)的游戲:“Wolfenstein3D”(德軍總部3D) “Doom”(毀滅戰(zhàn)士) “DoomII”(毀滅戰(zhàn)士2) “Heretic”(異教徒)
?“Hexen”(巫術(shù)) “HexenII”(巫術(shù)2) “Quake”(雷神之錘) “QuakeII”(雷神之錘2) “QuakeIIIArena”(雷神之錘3之雷神競(jìng)技場(chǎng)) “DoomIII”(毀滅戰(zhàn)士3) “QuakeIV ”(雷神之錘4) “Rage”(狂怒)
Peter Norvig:Google的研究部主任,Google的安全質(zhì)量總監(jiān)彼得·諾維格(Peter Norvig)現(xiàn)在是Google的研究部主任,Google的安全質(zhì)量總監(jiān),Lisp?Guru,著名的PAIP和AIMA的作者,不過他的一篇小品文Teach?Yourself?Programming?in?10?Years或許傳播得更廣。 人工智能專家彼得·諾威格博士(Peter?Norvig)講,當(dāng)一個(gè)公司的市場(chǎng)占有率超過?50?后,就無法再使市場(chǎng)占有率翻番了。這幾乎是任何人都懂的大白話,但是卻道出了許多跨國公司興衰的根源。
個(gè)人主頁:http://www.norvig.com/
Jeff Dean,Google的軟件架構(gòu)天才。Google大型并發(fā)編程框架Map/Reduce作者。
Jeff Dean在Google,公司最頂尖的編程高手Jeff Dean曾發(fā)明過一種先進(jìn)的方法,該方法可以讓一個(gè)程序員在幾分鐘內(nèi)完成以前需要一個(gè)團(tuán)隊(duì)做幾個(gè)月的項(xiàng)目。他還發(fā)明了一種神奇的計(jì)算機(jī)語言,可以讓程序員同時(shí)在上萬臺(tái)機(jī)器上用最短的時(shí)間完成極為復(fù)雜的計(jì)算任務(wù)。
Jeff Dean于1999年加入Google,目前是Google系統(tǒng)架構(gòu)小組的成員。他在Google主要負(fù)責(zé)開發(fā)Google的網(wǎng)頁抓取、索引、查詢服務(wù)以及廣告系統(tǒng)等,他對(duì)搜索質(zhì)量實(shí)現(xiàn)了多次改進(jìn),并實(shí)現(xiàn)了Google分布式計(jì)算架構(gòu)的多個(gè)部分。
在加入Google之前,他工作于DEC/Compaq的Western實(shí)驗(yàn)室,主要從事軟件分析工具、微處理器架構(gòu)以及信息檢索等方面的研究。他于1996年在華盛頓大學(xué)獲得了博士學(xué)位,與Craig Chambers一起從事面向?qū)ο笳Z言的編譯器優(yōu)化技術(shù)方面的研究。在畢業(yè)之前,他還在世界衛(wèi)生組織的艾滋病全球規(guī)劃署工作過轉(zhuǎn)載于:https://www.cnblogs.com/ajian005/archive/2012/11/23/2841088.html
總結(jié)
以上是生活随笔為你收集整理的真正优秀的程序员有哪些与众不同之处?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Latin1_General_BIN
- 下一篇: songbirds for ubuntu