標籤:
什麼是程式員的知識半衰期?這與我們國家的五年計劃類似,換句話說,你所知道的編程知識很有可能才五年後過時,類似的感悟是:“我現在寫代碼的水平落後了,因為自己知道這套語言已經過時了。”
起初,這似乎也合情合理。畢竟,有一個新的程式設計語言和技術出來絡繹不絕。不過,我認為這是錯誤的。編程知識語言甚至比人的壽命還要長,因為他們永遠都不會滅亡。例如:VB,ASP。
文法並不難
剛開始學習新的程式設計語言的時候,當自己還不是一名程式員的時候,學習python語言或者學習java的時候你聽起來就像學英語,但是當你已經會來英語的時候再去學習新的文法,其實這個時候僅僅只是一個表面的難度,所有的核心概念是相同的。
要在任何語言編寫一個程式,你使用類似類型,資料結構和邏輯基礎。如果您已經瞭解布爾,整數,浮點數和字串,它們有可能在新的語言使用為好。這些同樣適用於像列表,集合,字典和樹的資料結構。並使用邏輯將是算術運算,if語句,迴圈,函數調用等。
此外,關鍵的技能,如該演算法使用,如何分解問題,變數的命名和功能都在一個新的語言直接使用。這是通用編程知識語言之間輕鬆傳輸。借用“沒有銀彈”的術語:語言的文法是偶然的知識,而不是如何編程的基本知識。
這同樣適用於庫和工具。即使你不知道的表達究竟是如何經常在一個新的語言是用來做什麼,但是你應該知道,有對這些知識才有可能得到最大的支援。尋找有關如何使用它們的細節是不困難的部分,而是如何利用他們是有價值的知識。與IDE等工具,同樣的事情 - 你可能不知道的細節,但你知道你可以通過他們來做你想做的事情。
所以,學習一門新的語言是不是一個大問題。但是,如果你換工作,可能仍存在很多東西需要學習。我想它在3個維度知識。
知識三維
編程:這被程式設計語言,模式,技術和工具。就像我上面寫的,有很多核心概念是一樣的,即使細節(如文法)變化。
域:這個你知道在其中使用的程式的環境的內容。例如,如果你在電信工作,它是各種協議如何工作的知識,簡訊如何處理,計費和監控是如何完成的等你在某個部門工作的時間越長,你越瞭解它,和更有價值您的貢獻即可。
程式碼程式庫:這是特定的公司。當你已經工作了很長一段時間,你知道周圍的代碼的方式。你知道的事情都做了,哪些部分是棘手和直觀,而為什麼有些東西是做某種方式的曆史。
保持學習很重要
作為一個程式員,你是當你在所有三個方面有見地的最有價值的。如果你換工作,這是不可避免的,你將一無所知學習新的語言代碼 - 您只需在挖掘和學習。
不過,你所學到的關於編程和域將是有益的,即使你換工作。知道幾種程式設計語言會給你的事情是如何做不同的(即使基本面是一樣的)的參考點。這也是很好的一般閱讀軟體開發的書籍,如程式碼完成,乾淨的代碼程式員修鍊。
最後,我認為上述這些使軟體開發有趣和令人興奮的事情,總有一些東西要學。你永遠不會覺得無聊。因此,保持學習。你最瞭解什麼語言會令你成為一個更好的開發人員,即使每年有新的代碼語言誕生。
互連網時代程式員如何避免知識半衰期?