安基網 首頁 資訊 職場族 查看內容

程序員,請停止學習框架!

2020-5-20 12:28| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 每過幾年都有類似的文章出現,然而程序員卻依然疲于學習新的框架,看完此文希望對你有所啟示。這是一篇譯文,原文在 Hacker News 上獲得接近 500 個點贊。那么,譯文開始。我們程序員,每天都在了解最新的技術,每天都在學習編程語言、框架和庫。因為我們知道的現代編程工具越多越好,對吧?不停地追隨 ...

每過幾年都有類似的文章出現,然而程序員卻依然疲于學習新的框架,看完此文希望對你有所啟示。

這是一篇譯文,原文在 Hacker News 上獲得接近 500 個點贊。那么,譯文開始。我們程序員,每天都在了解最新的技術,每天都在學習編程語言、框架和庫。因為我們知道的現代編程工具越多越好,對吧?

不停地追隨 Angular、React、Vue、Riot、Ember、Knockout 的腳步還真是一件有意思的事情呢。(反話)

有人說:當初剛從Android轉前端的時候,一點基礎也不會,什么html什么css,完全不懂,上手就是angular1.0,學的很痛苦,很難受,后續半年先后接觸了vue和react,emmm沒錯,我就是框架仔。

后來跳槽,我的上司告訴我,不要用框架,全部使用原生,這才讓我真正感覺踏入了前端的領域。給我的實際經驗就是,你從框架中學習基礎,效率非常之低,當你脫離了雙向綁定,脫離了全家桶,你會發現,離開框架你什么也不會。

所以就像題主說的一樣,框架只是工具,我們只需要拿來用,但是真正需要學習的,是底層的原理,以及脫離框架后類似功能的實現方法。

但這其實是在浪費時間

時間是人類最寶貴的資源。時間是有限的、不可再生的,你可以用錢買任何東西,卻買不了時間。

技術,就像時尚,在以光速在變化著。為了趕上它,我們需要跑的非?。

但是這個跑道上沒有終點,所以沒有贏家。

我曾經的授業導師曾經教我這樣一課:

導師:“艾德,你在做什么?”

我(自豪地說):“我在讀一本使用GWT構建現代Java應用程序的書!

導師:“你為什么要讀這本書?”

我:“作為一個Java開發者,我需要緊跟趨勢,GWT現在最火!

導師:”在讀GWT之前你在讀什么技術書?“

我:”是一本500多頁的Apache Tapestry的書,Tapestry當時非常流行“

導師:”這個Tapersty一直流行嗎?“

我:”沒有多長時間。GWT現在最火!

導師:”你能重新用Tapersty的能力來解決現在的問題嗎?“

我:”不能了,F在它沒有什么用!

導師:”Taperstry的知識能幫你對GWT理解的更好嗎?“

我:”不能,沒有太大用。但是我看到里面有一些設計模式有些相似“

導師:”是設計模式。這些能幫你解決現在的問題嗎?“

我:”是的,幫助太多了!

導師:”技術一直在向前發展。但是有一些是相通的,要找準重點,將80%的時間放在提升基礎問題上,余下的20%再去學習框架,庫和工具“

我:“Hmmm... 只留20%的時間學習框架,庫和工具?”

導師:“是的。你在解決問題時自然就會學會框架、庫和工具”

我:“謝謝指點”

導師: 現在不忙著謝,過一段時間,你自然會明白。

這次談話可以說改變了我的人生!我把所有的講框架、庫的書從書架上全部撤下,一本都沒留,那叫一個輕松!

我只買了一本關于最新技術的書,是關于 Spring 的。因為根據林迪效應,學習 Spring 是一項不錯的投資。

我書架上換了一些長期的基礎技術讀物,不會過時的那種,比如像下面這類書就占據了我閱讀學習時間的80%:

  • 程序員修煉之道 The Pragmatic Programmer
  • 代碼整潔之道 Clean Code
  • 程序員的職業素養 The Clean Code
  • 領域驅動設計和實踐 Domain-Driven Design
  • 測試驅動的面向對象軟件開發 Growing Object-Oriented Software, Guided by Tests
  • 持續交付 Continuous Delivery

林迪效應認為,對于不會自然消亡的事物,如一項技術或一個想法,其預期壽命與其當前的生命成正比;即,只要這一事物多存活一天,就意味著其預期生壽命會更長一些。

技術的未來預期壽命與其當前的“年齡”成正比,技術每延長存續一段時間,其剩余生命周期也會相應延長。

越是在市場上持續存活時間長的技術,投入時間學習越安全、越值得。

不要忙著去學習最新的技術,因為這些新技術很可能很快消亡。

時間會告訴你,哪種技術值得投入精力去學習,時間是你最好的顧問,學會等待是很重要的。

自那次與導師的談話后,十年過去了。期間我陸陸續續參與了50多個不同的軟件項目的開發。感謝導師的建議,我學到的一切東西都可以在不同公司、團隊和領域之間順利遷移。我學到的知識到今天仍然有用。我沒有浪費時間。

如果你看得更深入些,你會發現所有的軟件項目都是類似的:

  • 用的編程語言雖然不一樣,但是設計方法是類似的。
  • 用的框架雖然是不一樣的,但是設計模式是類似的。
  • 參與的開發者是不一樣的,但是如何和這些人打交道是不變的。

記住,框架、庫和工具來了又走。時間才是珍貴的。

永遠記住,框架、庫和工具的更替永不停息,而你的時間很寶貴

一定要把你最寶貴的時間投入到可遷移的技能上。

也就是說,在那些始終會用得到的技能上下最多的功夫,比如下面這些內容,可能會讓你長期受用。

  • 不要學習微服務框架,學習演進式架構(Evolutionary Architecture)。
  • 不要學習新的編程語言,學習代碼整潔之道、設計模式、領域驅動設計(DDD)。
  • 不要學習 LeSS 和規;艚菘蚣埽⊿AFe),學習精益生產原則(Lean manufacturing principles)。
  • 不要學習 Hystrix,學習容錯模式(Fault Tolerance Patterns)。
  • 不要學習 Docker,學成持續交付。
  • 不要學習 Angular、React 和 Vue,學習 Web、HTTP 和 REST。

譯者:方應杭,作者:Eduards Sizovs

來自:https://zhuanlan.zhihu.com/p/52814937

原文:https://sizovs.net/2018/12/17/stop-learning-frameworks/



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6808021823419056651/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
洗衣店赚钱联系澳洁 开奖结果360 体彩排列五杀号 pk10赛车6码345678公式 山西快乐10分开奖官网 股票在线交易系统 贵州快3走势 免费推荐涨停股票 11选5技巧稳赚公式 福建快三开奖视频 股票程序化交易软件