程式設計師程式設計知識經驗總結

極客網發表於2015-03-08

不知道你有沒有聽說過所謂程式設計知識也是有半衰期的?這個半衰期限很多人普遍認為是5年。也就是說,5年以後你現在所學的知識將會有一半被淘汰。

感覺聽上去也算合情合理。畢竟,新的程式語言和技術在源源不斷地面世。但是我要告訴你,程式語言比很多人想得都要“長壽”。

Programmer-Knowledge

語法不是難點

對於Java程式設計師,學習Python就像說英語的去學習法語。當然這兩者是毫無關聯的。但是相同的是,都需要學習新的語法。語法只是表面上的不同,所有的核心概念都是相通的。

無論你換哪種程式語言去寫程式,我們都可以借鑑其相似的型別、資料結構和邏輯等基礎知識。如果你已經學過布林值、整數、浮點數和字串,那麼一般情況下它們在新語言中的用法也是相同的。其他如列表、集合、庫和樹等的資料結構,以及算數運算、if語句、迴圈、函式呼叫等邏輯也是如此。

此外,像演算法使用、分解問題、命名變數和函式等關鍵技能,是可以直接在新語言中使用的。這在程式語言中是通用的。

庫和工具也是如此。即使你並不知道新語言中的某個具體表示式的使用,也能從蛛絲馬跡中發現一二。找到如何使用的細節不難——難的是如何應用自如,這才是有價值的部分。工具也是這個道理,例如IDE——你可能並不知道相關細節,但是你知道你可以讓它們去做什麼。

所以學習一門新的程式語言真的沒什麼大不了的。不過如果你想要換工作,那麼需要學習的東西就多了——至少這3個方面的知識你逃不掉。

3個方面的知識

程式設計。主要指的是程式語言、正規化、技術和工具。就像我前面所說的,很多核心概念都是相通的,雖然在細節方面(語法)有所不同。

領域。這是指程式使用的環境,例如,如果你的工作是有關電信方面的,那麼這指的就是有關於各種協議如何工作、簡訊如何處理、如何計費和監控等方面的內容。你在某個行業領域工作的時間越長,你能作出的貢獻產出的價值就越多。

程式碼庫。這在每個公司都是獨一無二的。工作時間久了,你自然而然就會知道周圍這些程式碼為何如此了。

保持學習

作為一個程式設計師,如果以上3個方面你都屬於知識淵博的那一類,那身價自然就高了。如果你換了工作——這是不可避免的——那麼對於這個新的程式碼庫你自然又變得一無所知。這時候你需要做的就是開始新的學習和鑽研。

但是,不要以為換了工作,以前學的程式設計知識和領域知識就沒用了。多掌握幾門程式語言能讓你從多個角度看問題。此外,閱讀一些軟體開發的好書也蠻有益處的,例如《Code Complete》、《Clean Code》和《The Pragmatic Programmer》等。

最後,我想說的是,我認為軟體開發之所以如此有趣和令人興奮的原因是,總有一些東西是我們需要學習的。你永遠不會覺得無聊和枯燥乏味。所以,請保持學習的狀態。你所學的大多數知識都會有助於你成為一個更佳的開發人員,即使每年都有新的程式語言面世。

相關文章