這個世界變化快,是咱們的共識。前端
縱觀這幾年,咱們能說出許多耳熟能詳的新鮮事件:百團大戰,快滴大戰,區塊鏈,人工智能,炒房,大數據,互聯網寒冬等等,這些事情,彷彿就發生在昨天,轟轟烈烈,以咱們眼花繚亂的速度變化着。程序員
前兩年還遍地都是小黃車,如今不只看不到小黃車,連摩拜單車都快看不到了。前兩年還風風火火的區塊鏈,到現在各類打着區塊鏈的 app 都基本死光了。前兩年房價還瘋長,如今不少房價已經腰斬。算法
面對變化的世界,首先想到的就是變的比它還快。只要變得比這個世界還快,纔有足夠的主動權去掌控它。不至於被這個世界所淘汰。編程
對於計算機技術來講,更新迭代的更快,要學的東西實在太多。weex
一方面是必需要學,一方面是不知道要學什麼。數據結構
拿移動端來講,Android 前幾年 Java 還用的好好的,結果前年 Kotlin 來攪局了,Google 還把 Kotlin 做爲了官方的語言,你說做爲一個 Android 開發要不要學?app
iOS 的程序員以前一直在用 OC 開發,14 年的時候 Swift 來了。蘋果的東西,你想不學作不到吧。學也就罷了,可是每次 Swift 的更都有不少的變更,真是苦了程序員,可是你能不學嗎?框架
Android 和 iOS 存在 10 幾年了,忽然大前端又跑出來講要作跨平臺,要統一 Android 和 iOS,因而一堆跨平臺的 SDK 浮出水面,facebook 的 React Native,阿里的 weex,還有 Google 的 flutter,你怎麼辦,學仍是不學?學習
前幾年出了區塊鏈須要學習,出了 Tensor Flow(AI) 須要學習,出了 Kotlin,Swift 要學習,不少人抱怨,學不動了呀。區塊鏈
可是變是永恆的主題,是一個不以人的意志爲轉移的事情,而人的生命有限,以有限的生命去追趕無限的變化世界,顯然這不是一個長遠之計。
另一個思路是尋找一些不變的東西,或者變化慢的東西,影響深遠的因素,把握好他們,以不變應萬變。
亞馬遜的創始人傑夫·貝索斯曾經在一次演講中說:「人們常常問我,將來 10 年什麼會被改變?我以爲這個問題頗有意思,但也很廣泛。歷來沒有人問我,將來 10 年,什麼不會變?」
什麼東西不會變呢?
在計算機的世界裏,數據結構,算法,編譯原理,編程思想這些至少在可見的時間範圍內不會變,也只有原理,本質和設計思想纔是經得起考驗的,纔不會被平臺,被語言綁架。
不少和數據結構,算法相關的書籍,都被稱爲經典。什麼是經典?那些不變的,經得起時間考驗的才能成爲經典。任世界如何變化,至少在有限的生命中,這些都是不變的東西。
掌握好了這些,任計算機的世界如何變化,均可以以不變應萬變。這就比如一個習武之人,開始的時候只是不斷練習某些武器的使用,一旦換了全新的對手,舊武器可能就不適用了。而一個懂得製造武器的人,不論對手如何變化,老是可以知道出克敵制勝的武器。
那麼,當前具體的 Android 和 iOS 技術是否是不重要了呢?這些固然重要。這些技術聚焦的是當下,應對是當前世界的變化,這些選擇會決定你在將來很長一段時間的技術方向。
可是咱們若是可以拉長時間線,在將來來看,也許這些框架,語言,平臺,都不是那麼重要。
而數據結構,算法,編譯原理,編程思想這些應對的是將來。
互聯網變化太快,從互聯網開始到如今,不過 20 年時間,有多少的技術被淘汰了,有多少的公司倒閉了。與其拼命往前衝,不如抓住一些本質的東西去打磨。
應對當下,更要應對將來。