2020年了,初學者該學什麼程式語言?

YC
程式愛好者
Published in
Oct 20, 2020

程式語言,每年都有新的當紅炸子雞。但對新加入程式行列的朋友來說更是花多眼亂,不知道從何入手。這次,我們不談技術、不談框架,只問一句︰

什麼都不會的程式初學者,應該學什麼?

先來看看 Github 上的最熱門語言頭 16 位。(Github 上的熱門語言只能代表在其開源項目上的被使用的語言,不代表業界立場!)

2020-Q3 Github Language Stats

網頁前端 (Front-End)︰JavaScrpit!對的,唯一的原因是,你別無他選!安心的進入 JavaScrpit 這個大坑吧。

後端 (Back-End)︰Python、GoJavaScrpit、PHP、Ruby、Java,都是現在主流的程式語言。

iOS︰Swift、Objective-C。Swift 已經成為 Apple 官方推薦的開發語言。

Android︰Java、Kotlin。Kotlin 同樣已成為 Google 官方推薦的開發語言。

OK,上面是以工作導向的程式語言分類。但是這不是我們今天的重點,今天我們的重點是︰

不管將來要做什麼類型的軟體工程師,單純以學習程式來說,我會推薦大家學什麼?

Java!

對的,是 Java。我希望新手要學習第一門程式語言時,可以選擇 Java 作為你們的入門語言。

都 2020 了!為什麼是 Java?這語言聽起來已經很老派呢?!好像都是上個時代的產物,Python 不是很紅嗎?JavaScript 什麼都能寫,感覺很利害吧!

即使已經 2020 年了,對的,是 Java。我對新手推薦 Java 的原因有五點︰

一,超多、超豐富的學習資源與穩定的發展生態。不管是市面上的書籍與網路上的學習資源,其實已經很成熟,也很豐富,不用擔心找不到能幫你打好基礎的學習法方法。當然,在開源方面也有大量成熟的專案可以供任何人去研究與加入開發。
另外,有很多大神出的書、什麼什麼軟體工程師必買書單、未來你會接觸到的各種技術,總有一本是由 Java 來寫的 :)

二,嚴謹的寫作風格。作為程式語言界的乖寶寶,Java 有著不會讓人行差踏錯的嚴謹語法,每一次類別轉換、參數宣告、錯誤處理,其實都是一種教學,一種程式設計的典範。嚴謹的寫作風格可以讓別人更好閱讀你在寫什麼,而當初學者培養出良好的寫作習慣後,就更容易去寫出好的程式碼。
(有興趣可以去看看,Google 的 Java Coding Style)

三,Java 是靜態語言,現在很多語言都是動態語言,如 Python、JavaScript、PHP 等等,而且大多數都是弱型別語言。對初學者而言,資料類型是一個很重要的概念,他能幫助你了解程式到底在處理什麼樣的資料。若第一個學習的語言就無法深化型別的概念,可能會形成對資料類型常態性的忽視,在未來要處理向種資料時,就可以變成要多花時間去找出自已的缺陷。

四,Java 是一門「很正宗」的物件導向語言。初學者們可能不了解什麼是物件導向,但沒有關係,你們只須先了解這是一個很重要的程式設計概念,對當前的程式設計方法影響深遠,而 Java 提供了完善的工具來讓大家實作各種物件導向。
好比在 JavaScript 上,你就無法找到像 interface、abstract class 等等的工具來幫助實現物件導向設計的工具。
相信我,物件導向的概念真的很重要,在現代的程式中,物件導向無所不在,即使未來的你不一定會使用到。

                        同場加映,物件導向三步曲︰
1.什麼是OO?物件導向與封裝
2.什麼是OO?物件導向與繼承
3.什麼是OO?物件導向與多型

五,Java 擁有多線程處理能力。多多練習多線程處理是一件很棒的事情,這會讓你更了解現代程式真實的開發情況,多線程簡單來說就是這個程式可以同步做很多不一樣的事情,這也關乎我們程式是否有效的運用到電腦的效能。

以上五點是我認為對初學者們在學習 Java 後更易獲得有利的「開局」,不必拼人品就可以獲得的一點小優勢。

如果你覺得我的文章幫助到你,希望你也可以為文章拍手,分別 Follow 我的個人頁與程式愛好者出版,按讚我們的粉絲頁喔,支持我們推出更多更好的內容創作!

--

--

YC
程式愛好者

提供更精確的技術內容為目標,另創立「程式愛好者」專頁。首席軟體工程師,專研後端技術、物件導向、軟體架構。