色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

是什么造就了偉大的程序員?

  本文是從 What Makes A Great Programmer? 這篇文章翻譯而來。

  回想起來就像是在昨天。那是2000年,在數(shù)據(jù)結(jié)構(gòu)課程的課堂上,Pargas博士站在前面給我們講一些關(guān)于數(shù)據(jù)結(jié)構(gòu)的話題,一個(gè)SSH的畫面投影在我們前面的墻上。有人問了一個(gè)問題,他說了一些東西,差不多是這樣的話“是這樣,如果你想成為一個(gè)真正的計(jì)算機(jī)科學(xué)家,你需要從現(xiàn)在開始就使用vi編輯器”。我想他是在笑談,課后感覺他說的話并不是完全的正確,但作為年輕且容易被感染的我,回到寢室立刻就開始學(xué)習(xí)如何使用vi。學(xué)習(xí)過程不容易,花費(fèi)了不少時(shí)間,但一旦掌握了其中的竅門,我發(fā)現(xiàn),使用vi的確可以更快的做事情。

  時(shí)間推到6年前,那時(shí)我對TextMate十分的著迷。我的工作是做Java開發(fā),但同時(shí)我學(xué)習(xí)Rails,在業(yè)余時(shí)間開發(fā)一些Rails項(xiàng)目。那時(shí)幾乎所有我讀的文章和觀看的視頻都是說明和演示如何使用TextMate來完成文本編輯工作的方法技巧的。事實(shí)上,我每天都在使用的Eclipse想要把我變成一頭蠢豬。于是,我買了一臺Mac電腦,開機(jī)后十分鐘內(nèi)我就買了一套TextMate裝了上去。

  說老實(shí)話,這兩種編輯器沒有一種使我成為一個(gè)更好的程序員。

  優(yōu)秀的工具并不會把你變得更優(yōu)秀。你使用的工具確實(shí)很重要。事實(shí)上,它們非常棒。但老虎伍茲即使用幾根樹枝也能把我們?nèi)看驍。肺骷词共淮┬材馨盐覀兲叩暮軕K,拉斐爾-納達(dá)爾即使使用一個(gè)60年代產(chǎn)的老式木質(zhì)網(wǎng)球拍也能把我們?nèi)魏我粋€(gè)人打敗。該死,他即使用乒乓球拍也能打敗我們。技術(shù),知識,以及鍛煉出來的經(jīng)驗(yàn)是你在與人對比中最重要的部分。

  所以,工具造就不出程序員。那什么可以呢?我想,造就一個(gè)偉大的程序員的諸多因素都依賴于你所從事的事和與你共事的人,但從很多在軟件開發(fā)領(lǐng)域取得了巨大成功的人身上,我看到了很多共同的特征,我覺得值得與你們分享一下。我并不確定這些特征你是否能學(xué)得到,或者你天生就有,但我強(qiáng)烈的感覺到,如果我能花更多了時(shí)間去追求這些特征,而不是鐘情于更換編輯器,我一定能取得更大的進(jìn)步。

  以人為本

  我知道的最好的程序員總是把人放在第一位。他們明白他們是在為人寫軟件,即使那只是一些復(fù)雜系統(tǒng)的后臺程序或協(xié)議,除了程序員沒有人會用到它們。他們寫文檔,因?yàn)檫@很重要。他們幫助其他人如何使用自己的程序代碼。他們愿意付出更多的努力去解決更復(fù)雜的問題來讓人們以正確的方式使用他們的軟件。

  對學(xué)習(xí)有很大的胃口

  神奇的程序員對知識有一種可笑的饑渴感。他們總是對你說一些新的、有趣的東西。他們習(xí)慣于大量的閱讀(不論在線的還是線下的),他們喜歡嘗試,從中學(xué)到經(jīng)驗(yàn)。他們對新出現(xiàn)的語言和平臺毫不擔(dān)憂恐懼。

  掌握問題規(guī)律的本領(lǐng)

  當(dāng)你做開發(fā)有了一段時(shí)間后,你會發(fā)現(xiàn)有時(shí)出現(xiàn)的問題和你曾經(jīng)處理過的問題看起來驚人的相似。能夠識別這些問題,把過往的解決方案應(yīng)用到你當(dāng)前的問題上,這是一個(gè)很有用處的本領(lǐng)。如果每次都能改進(jìn)這個(gè)方案,那是更好了。

  注意,這并不意味這你可以盲目的認(rèn)為過去這個(gè)方案可行,現(xiàn)在它就一定可行。這種過往問題和現(xiàn)在出現(xiàn)的問題的類型匹配是很有技巧性的。你需要認(rèn)真判斷何時(shí)使用一個(gè)歷史方案是可行的,什么時(shí)候是不行的。

  有一點(diǎn)神經(jīng)質(zhì)

  我弟弟在高中時(shí)上了一次Python課,當(dāng)我問他是否喜歡這課時(shí),他說我腦袋一定出問題了才去愿意當(dāng)一名程序員,他說編程是他這輩子子做過的最無聊的一件事。從某種程度上講,他是對的。大多數(shù)的日子里,我是對著計(jì)算機(jī)說話,而不是人。想到這些要把一行一行的基本的長長短短的語句拼成一個(gè)軟件,我不由的打了大大一個(gè)冷戰(zhàn)。并不是所有的人都喜歡做這種事情,但是我知道的最優(yōu)秀的程序員絕對是熱愛制作軟件的。

  執(zhí)著

  軟件開發(fā)是一個(gè)實(shí)際上比任何人的想像都要緩慢的開發(fā)過程。它很費(fèi)時(shí)間。有時(shí)候你必須要有足夠的耐心去精雕細(xì)琢出你需要的代碼。有時(shí),作為程序員,我們會寫出非常有趣的代碼,但也有時(shí)候,我們不得不哭喪著臉去寫一大堆過去曾經(jīng)寫過的代碼。想想偉大的程序員之所以能堅(jiān)持下來,是因?yàn)樗麄兡芸吹剿麄兯鶑氖碌氖聵I(yè)的大藍(lán)景,他們喜歡這一點(diǎn)一點(diǎn)走向目標(biāo)的開發(fā)過程。

  這就是我想到的構(gòu)成一個(gè)優(yōu)秀程序員的一些特征,但這并不是全部,所以我想聽聽你的觀點(diǎn)。你認(rèn)為是什么使一個(gè)程序員變的優(yōu)秀?

it知識庫是什么造就了偉大的程序員?,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 东乡县| 武邑县| 旬邑县| 辽阳市| 大理市| 岳普湖县| 兴隆县| 渝北区| 班戈县| 垦利县| 绥江县| 东丰县| 冀州市| 常州市| 五原县| 读书| 内江市| 六安市| 钟祥市| 綦江县| 邻水| 满城县| 行唐县| 苏尼特左旗| 噶尔县| 广平县| 和龙市| 海伦市| 岳西县| 贵南县| 建宁县| 山阴县| 沧州市| 水富县| 类乌齐县| 新竹县| 伊宁市| 噶尔县| 墨脱县| 英吉沙县| 军事|