程序員編程知識經(jīng)驗總結(jié)
不知道你有沒有聽說過所謂編程知識也是有半衰期的?這個半衰期限很多人普遍認(rèn)為是5年。也就是說,5年以后你現(xiàn)在所學(xué)的知識將會有一半被淘汰。
感覺聽上去也算合情合理。畢竟,新的編程語言和技術(shù)在源源不斷地面世。但是我要告訴你,編程語言比很多人想得都要“長壽”。
語法不是難點
對于Java程序員,學(xué)習(xí)Python就像說英語的去學(xué)習(xí)法語。當(dāng)然這兩者是毫無關(guān)聯(lián)的。但是相同的是,都需要學(xué)習(xí)新的語法。語法只是表面上的不同,所有的核心概念都是相通的。
無論你換哪種編程語言去寫程序,我們都可以借鑒其相似的類型、數(shù)據(jù)結(jié)構(gòu)和邏輯等基礎(chǔ)知識。如果你已經(jīng)學(xué)過布爾值、整數(shù)、浮點數(shù)和字符串,那么一般情況下它們在新語言中的用法也是相同的。其他如列表、集合、庫和樹等的數(shù)據(jù)結(jié)構(gòu),以及算數(shù)運算、if語句、循環(huán)、函數(shù)調(diào)用等邏輯也是如此。
此外,像算法使用、分解問題、命名變量和函數(shù)等關(guān)鍵技能,是可以直接在新語言中使用的。這在編程語言中是通用的。
庫和工具也是如此。即使你并不知道新語言中的某個具體表達(dá)式的使用,也能從蛛絲馬跡中發(fā)現(xiàn)一二。找到如何使用的細(xì)節(jié)不難——難的是如何應(yīng)用自如,這才是有價值的部分。工具也是這個道理,例如IDE——你可能并不知道相關(guān)細(xì)節(jié),但是你知道你可以讓它們?nèi)プ鍪裁础?br />
所以學(xué)習(xí)一門新的編程語言真的沒什么大不了的。不過如果你想要換工作,那么需要學(xué)習(xí)的東西就多了——至少這3個方面的知識你逃不掉。
3個方面的知識
編程。主要指的是編程語言、范式、技術(shù)和工具。就像我前面所說的,很多核心概念都是相通的,雖然在細(xì)節(jié)方面(語法)有所不同。
領(lǐng)域。這是指程序使用的環(huán)境,例如,如果你的工作是有關(guān)電信方面的,那么這指的就是有關(guān)于各種協(xié)議如何工作、短信如何處理、如何計費和監(jiān)控等方面的內(nèi)容。你在某個行業(yè)領(lǐng)域工作的時間越長,你能作出的貢獻(xiàn)產(chǎn)出的價值就越多。
代碼庫。這在每個公司都是獨一無二的。工作時間久了,你自然而然就會知道周圍這些代碼為何如此了。
保持學(xué)習(xí)
作為一個程序員,如果以上3個方面你都屬于知識淵博的那一類,那身價自然就高了。如果你換了工作——這是不可避免的——那么對于這個新的代碼庫你自然又變得一無所知。這時候你需要做的就是開始新的學(xué)習(xí)和鉆研。
但是,不要以為換了工作,以前學(xué)的編程知識和領(lǐng)域知識就沒用了。多掌握幾門編程語言能讓你從多個角度看問題。此外,閱讀一些軟件開發(fā)的好書也蠻有益處的,例如《Code Complete》、《Clean Code》和《The Pragmatic Programmer》等。
最后,我想說的是,我認(rèn)為軟件開發(fā)之所以如此有趣和令人興奮的原因是,總有一些東西是我們需要學(xué)習(xí)的。你永遠(yuǎn)不會覺得無聊和枯燥乏味。所以,請保持學(xué)習(xí)的狀態(tài)。你所學(xué)的大多數(shù)知識都會有助于你成為一個更佳的開發(fā)人員,即使每年都有新的編程語言面世。
譯文鏈接:http://www.geekwww.com/programmer-knowledge.html
英文原文:Programmer Knowledge
翻譯作者:極客網(wǎng) – John
相關(guān)文章
《自尊與自強(qiáng)》,沒有自尊焉有自強(qiáng)?
《自尊與自強(qiáng)》,沒有自尊焉有自強(qiáng)?...2007-04-04賣豆?jié){的永遠(yuǎn)都是賣豆?jié){的嗎? 自甘平庸 ?
5年前,我住的街道上來了一家賣豆?jié){的。豆?jié){不貴,2毛錢一小袋。一天,一位帶小孩的顧客為小孩買了一袋豆?jié){,由于小孩不慎,還沒帶離攤位,蹭到了桌子角上,豆?jié){瞬間撒完。2009-06-06《學(xué)習(xí)與工作》,學(xué)習(xí)就是為工作,工作也可以學(xué)習(xí)
《學(xué)習(xí)與工作》,學(xué)習(xí)就是為工作,工作也可以學(xué)習(xí)...2007-04-04