程式設計師如何選擇技術方向或程式語言?

2020-07-16 10:05:19
初入職場或還在校的同學想必都會有一些共同的疑惑,比如:
  • 我到底該選哪個技術方向?
  • 現在該學哪門語言?
  • 未來 Java 語言的發展趨勢如何?
  • 到底應該學 Python 還是 Java?

這些問題的本質其實都是技術的投資決策問題,也即現在我該把時間精力花在哪個方向上,未來的收益才可能最大。

這個問題並不好回答,因為這個問題的本質和“我現在應該投資哪隻股票”一樣。沒有人能回答好這個問題,我覺得最好的做法就是:從投資的出發點而非終點來選擇一條路徑。

至於這樣選擇的路徑能否在未來獲得很好的收益,是無法預測的。但選擇技術方向和選擇股票不同的是,只要你在這條路徑上持續努力、學習與進步,基本可以保證能和“大盤”持平而不至於有虧損,但能否取得超過“大盤”的收益,其實是看運氣的。

選擇程式語言

選擇技術方向,從某種意義上講就是選擇語言。

雖然有一些流傳的說法,類似於:“語言並不重要,必要的時候可以在各種語言間自由切換。”但實際情況是,能做到自由切換的前提是你得對一門語言掌握到通透之後,再學習其他語言,才可能觸類旁通。

計算機程式語言雖然很多,但種類其實有限。2019 年 10 月 TIOBE 程式語言排行榜上的前三位(Java、C、C++),本質上其實是一類語言。但大部分人只能選擇去熟悉並通透其中一種,因為這些語言背後都有龐大的生態圈。

2018年10月TIOBE榜單