程序員編程知識(shí)經(jīng)驗(yàn)總結(jié)
感覺聽上去也算合情合理。畢竟,新的編程語言和技術(shù)在源源不斷地面世。但是我要告訴你,編程語言比很多人想得都要“長(zhǎng)壽”。
語法不是難點(diǎn)
對(duì)于 Java 程序員,學(xué)習(xí) Python 就像說英語的去學(xué)習(xí)法語。當(dāng)然這兩者是毫無關(guān)聯(lián)的。但是相同的是,都需要學(xué)習(xí)新的語法。語法只是表面上的不同,所有的核心概念都是相通的。
無論你換哪種編程語言去寫程序,我們都可以借鑒其相似的類型、數(shù)據(jù)結(jié)構(gòu)和邏輯等基礎(chǔ)知識(shí)。如果你已經(jīng)學(xué)過布爾值、整數(shù)、浮點(diǎn)數(shù)和字符串,那么一般情況下它們?cè)谛抡Z言中的用法也是相同的。其他如列表、集合、庫和樹等的數(shù)據(jù)結(jié)構(gòu),以及算數(shù)運(yùn)算、if 語句、循環(huán)、函數(shù)調(diào)用等邏輯也是如此。
此外,像算法使用、分解問題、命名變量和函數(shù)等關(guān)鍵技能,是可以直接在新語言中使用的。這在編程語言中是通用的。
庫和工具也是如此。即使你并不知道新語言中的某個(gè)具體表達(dá)式的使用,也能從蛛絲馬跡中發(fā)現(xiàn)一二。找到如何使用的細(xì)節(jié)不難——難的是如何應(yīng)用自如,這才是有價(jià)值的部分。工具也是這個(gè)道理,例如 IDE——你可能并不知道相關(guān)細(xì)節(jié),但是你知道你可以讓它們?nèi)プ鍪裁础?/p>
所以學(xué)習(xí)一門新的編程語言真的沒什么大不了的。不過如果你想要換工作,那么需要學(xué)習(xí)的東西就多了——至少這 3 個(gè)方面的知識(shí)你逃不掉。
3 個(gè)方面的知識(shí)
編程。主要指的是編程語言、范式、技術(shù)和工具。就像我前面所說的,很多核心概念都是相通的,雖然在細(xì)節(jié)方面(語法)有所不同。
領(lǐng)域。這是指程序使用的環(huán)境,例如,如果你的工作是有關(guān)電信方面的,那么這指的就是有關(guān)于各種協(xié)議如何工作、短信如何處理、如何計(jì)費(fèi)和監(jiān)控等方面的內(nèi)容。你在某個(gè)行業(yè)領(lǐng)域工作的時(shí)間越長(zhǎng),你能作出的貢獻(xiàn)產(chǎn)出的價(jià)值就越多。
代碼庫。這在每個(gè)公司都是***的。工作時(shí)間久了,你自然而然就會(huì)知道周圍這些代碼為何如此了。
保持學(xué)習(xí)
作為一個(gè)程序員,如果以上 3 個(gè)方面你都屬于知識(shí)淵博的那一類,那身價(jià)自然就高了。如果你換了工作——這是不可避免的——那么對(duì)于這個(gè)新的代碼庫你自然又變得一無所知。這時(shí)候你需要做的就是開始新的學(xué)習(xí)和鉆研。
但是,不要以為換了工作,以前學(xué)的編程知識(shí)和領(lǐng)域知識(shí)就沒用了。多掌握幾門編程語言能讓你從多個(gè)角度看問題。此外,閱讀一些軟件開發(fā)的好書也蠻有益處的,例如《Code Complete》、《Clean Code》和《The Pragmatic Programmer》等。
***,我想說的是,我認(rèn)為軟件開發(fā)之所以如此有趣和令人興奮的原因是,總有一些東西是我們需要學(xué)習(xí)的。你永遠(yuǎn)不會(huì)覺得無聊和枯燥乏味。所以,請(qǐng)保持學(xué)習(xí)的狀態(tài)。你所學(xué)的大多數(shù)知識(shí)都會(huì)有助于你成為一個(gè)更佳的開發(fā)人員,即使每年都有新的編程語言面世。
英文原文:Programmer Knowledge
【責(zé)任編輯:wangxueyan TEL:(010)68476606】