我應該學習哪門語言?

  • 2019 年 11 月 12 日
  • 筆記

經常有剛入門的讀者會問:

Java,C/C++,Go,Python這幾門語言我該學哪個?哪個發展好?

在我剛接觸編程的時候,想學一門編程語言,內心很是糾結,到底是學C++好呢,還是Java好呢?當時好朋友說Java就業好,我也就跟着去學了Java。

時至今日,回過頭來發現,其實在往後的路上,語言變得越來越不重要了,語言現在只是當做一門工具來用,更重要的是與語言無關的通用知識(比如數據結構)、快速學習的能力以及業務理解能力。

學會了Java,然後去學Python,學C++,會發現很多東西是相通的。學起來就會快很多,很多時候,同樣的東西,在不同的編程語言中,只是換了個名字而已。

下面的一篇漫話講述了在不同的編程的語言中通用的編程概念,或許會解答有些人心中的疑惑。

本文想要探討的一個話題是:作為一個程序員,如何看待這麼多的編程語言?是不是要學習?該怎麼學習?

其實很多人都有這樣的體會,當你學會了一門語言以後,再去學習新的語言,難度會大大降低,因為很多概念是一樣的, 只是換了一種包裝形式。

但是每一門語言都有自己獨特之處,比如Ruby可以輕鬆地在運行時「打開」一個類,對這個類增加行為,還有method_missing的處理,這種特性,讓它特別適合去實現DSL,RoR的火爆也就不足為怪了。

所以學習一門新的語言,更重要的是關注它和你所掌握語言的不同之處。這些不同之處所涉及到的基本概念是有限的,本文就列出了一些。

另外,學完了一門新語言以後,如果項目中用不到,是無法熟練使用的,也有可能很快忘記那些語法,因為編程確實需要不斷的練習,尤其是項目的歷練,從這個意義上來說,學習並理解那些基本概念會更加重要。

本文的靈感來源於https://www.coderscat.com/how-to-learn-all-pl。