App下載

程序員所積累的編程知識在十年后將有多少變得沒用?

一級燒烤品鑒師 2024-07-13 08:00:00 瀏覽數(shù) (663)
反饋

在瞬息萬變的編程世界里,知識更迭速度之快令人咋舌,程序員所積累的編程知識在十年后將有多少變得沒用?

如何才能不被時代拋棄,是每個程序員都需要思考的問題。

我認為,編程知識可以分為經驗型知識和原理型知識,而經驗型知識的貶值速度要快于原理型知識。

要驗證這一觀點,我們不必預測未來十年哪些知識將變得過時,而是可以回顧過去,觀察哪些知識已經貶值或變得不那么重要。

以當今熱門的Web前端工程師為例,我們可以清晰地看到兩種知識的區(qū)別。


經驗型知識


經驗型知識側重于具體的技術和操作,其價值會隨著技術迭代而衰減。


1.瀏覽器兼容性和系統(tǒng)兼容性知識

包括對IE5.x至IE7的兼容性技巧,特別是CSS hack,不同DOM級別的API兼容性,以及異步請求技術(如AJAX/CORS)的兼容性問題。還有iOS 5/6和Android 1.x至3.x瀏覽器中的各種兼容性問題,這些經驗可能隨著時間推移而變得不再重要。


2.技術演進導致的淘汰方案

比如曾經流行的table布局方式,HTTP 1.x協(xié)議,以及早期的緩存和離線應用技術方案,都可能因為技術進步而被淘汰。


3.平臺綁定的開發(fā)經驗

比如針對特定平臺如Windows RT的前端開發(fā)解決方案,或者特定平臺擴展的開發(fā),以及特定手機品牌瀏覽器的兼容性問題處理。


4.第三方庫/框架的使用

比如對ExtJS或AngularJS 1.x等框架的API使用經驗,這些框架可能隨著新技術的出現(xiàn)而變得不那么流行。


原理型知識


側重于對技術本質和原理的理解,其價值更加持久,能夠遷移到新的技術領域。


1.業(yè)務模式選擇

能夠根據不同的業(yè)務需求選擇合適的業(yè)務模式,是架構設計的基礎,不會隨著技術更迭而改變。


2.深入理解核心技術

比如在NodeJS等技術的研發(fā)過程中,對HTTP協(xié)議、Stream、系統(tǒng)調用、文件系統(tǒng)和進程管理等有深刻理解。


3.編程語言理解

比如在研究ECMAScript及其衍生語言時,對語法、語義和編程方式有深入的理解。


4.框架設計與模式

了解框架設計原理,并在業(yè)務開發(fā)中掌握各種設計模式的工程意義。


5.工程化思維

比如在前端工程化過程中,培養(yǎng)工程化思維,理解構建、持續(xù)集成和DevOps的真正意義。


6.軟件開發(fā)實踐

形成良好的軟件開發(fā)實踐習慣,如TDD(測試驅動開發(fā)),積累協(xié)同開發(fā)和開源代碼維護的經驗。


------


當然,原理型知識也并非一勞永逸,它也可能會被顛覆性的技術革命所淘汰,就像圖靈機出現(xiàn)后,很多計算理論都需要重新構建。

但相比于經驗型知識,原理型知識的保質期無疑更長。

除了上述這些,算法/數(shù)學能力等硬知識的重要性更是不言而喻,它們是構建強大編程能力的基石,也是最不可能過時的知識。

0 人點贊