最近,Coding dojo 分析了來自著名求職招聘網站 indeed.com 上的二十五種程式語言,棧和框架,分析得出 2018 年最具有前景的 7 門程式語言。Java 居然越過大熱門的 Python,排名第一!
從圖表中可以看 Java 作為一個 20 年的老牌程式語言,依然排列第一,很多大企業的後端服務的開發都離不開 Java,相對於2017年來說有所下滑,但是依然不能動搖 Java 的霸主地位。排名第二的 Python 由於人工智慧的火爆,進入前二,但這種火爆帶來的作用依然不能對 Java 產生很大的影響。有種要一統天下感覺的 Javascript 進入前三,由於幾乎所有的 web 應用都需要用到,並且 nodejs 也可以用於後端應用開發,因此 Javascript 位列第三也是實至名歸。
為什麼 Java 如此受歡迎?
Java 的設計比 C 更容易學習和使用。它也是最早的完全支援面向物件的程式語言之一,因為這個原因,它很快獲得了一大批擁躉。
今天,Java 廣泛用於程式設計各種解決方案,數百萬個網路應用和 Web 小程式在使用 Java。流行的網站比如 Linked,Twitter,eBay 等都在廣泛地使用 Java,並且 Google 採取了 Java 作為開發 Android 應用的主要程式語言。
最近,Java 也成為物聯網(IoT)開發非常受歡迎的工具,因為它提供安全,可移植的程式碼,可以在任何地方使用。
受歡迎的部分原因在於 Java 原始碼可以編譯成位元組碼,它可以在安裝了 Java 虛擬機器的任何伺服器或者客戶端計算機裡執行。這意味著 Java 程式是獨立於平臺的 —— 它們可以在許多作業系統上執行包括 Windows,iOS,Linux 以及物聯網作業系統比如 RIOT,Contiki 和 FreeRTOS。
相比之下,C 寫的 iOS 程式將不能在 Windows 機器上原樣使用。
容易學習的程式語言
像許多流行的程式語言一樣,學習 Java 相對容易,因為有許多可用的資源。它還有許多標準類庫和大量的第三方庫。對於有 C 或 Java 程式員使用整合開發環境(比如 IntelliJ IDEA)來幫助他們進行高效地程式設計。
這些 IDE 顯著地改善了程式設計體驗,並提供了除錯這一重要幫助,對於初學者來說很重要 —— 沒有比寫了一些程式碼但是不知道錯誤在哪裡更讓人糟心的了!
Android 和 IoT 開發的理想程式語言
假設你對於這兩種技術都感興趣,Java 可能是你理想的程式語言。它在這些應用的部分用處在於它具備高度的可移植性,但它同時還有一些別的優點:
安全性高:Java 在構建時已經考慮到安全性了。
不可思議的效能:現代 Java 的速度非常快,它是靜態的,並且多執行緒的功能讓多核的現代計算機(智慧手機)可以做得更多更快。
成熟:作為一門根深蒂固的程式語言,Java 有一個大型的社群支援它,海量的資源,並且許多問題已經得到解決。
擁有大量工作機會
根據 Stack Overflow 調查顯示,Java 是總排名第三的程式語言,36.3% 的調查者在使用它(近幾年來明顯下降 —— 2013 年的資料為 42.5%)。許多不同型別的開發者使用它:
30.7%全棧開發者使用 Java
16.8%的前端開發者使用 Java
41.6%的後端開發者使用 Java
54.2% 的移動開發者使用 Java
技能分析平臺 Gooroo 報告說 Java 有很好的工作機會,在美國每個月大約有 17,000 個職位廣告,平均薪資為 100,000 美元。在世界上,每個月大約有 30,000 個職位廣告,平均薪資為 90,000 美元。
如何開始學習 Java ?
學習任何一門程式語言,都是為了去實現一個個專案,來解決實際的問題。無論專案是大還是小,都關聯著許多知識與技能。
例如要用 Java 寫一個「檔案資源管理器」的桌面應用,就需要MVC設計樣式、元件化構建、物件集合及操作、打包與部署、多執行緒遍歷與非同步I/O操作等知識模組。缺少任意一個模組,都難以完成一個專案。
所以完成一個專案,就像是在完成一張拼圖,要把一個個知識模組搞定,再拼成一個專案,這樣「專案驅動式」的學習,是目前公認最高效的程式設計學習方法:
容易入門:只要掌握了基本的知識和程式設計技巧,就具備了完成簡單專案的能力,就可以開始使用這種學習方法。
缺哪補哪:在動手做專案的過程中,就可以檢驗自己的學習成果,發現自己欠缺的知識模組,針對性學習更高效。
有成就感:學習的成果,體現為一個個可解決實際問題的專案,讓學習得到即時反饋,成就感爆棚!
要註意的是,專案驅動式的學習,專案選擇要循序漸進,每個專案既要包含之前學過的知識模組,又要有新的知識模組讓自己來學習。
那要如何從零開始,透過專案驅動來高效學習 Java 呢?啃厚厚的教材,或者看各種影片教程,顯然都無法讓自己開始動手做專案。你需要從實戰專案開始入門 Java !
作為將 Learning by Doing 作為自己的學習理念的 Udacity 優達學城,在奈米學位專案中,從易到難設計了不同的實戰專案,並以專案為中心組織學習模組,真正實現了專案驅動式的高效學習。
挑戰矽谷的 Java 實戰專案
優達學城 Java 入門實戰課程,3 月正式在中國釋出!你將有機會從零開始,挑戰 3 個來自矽谷的 Java 實戰專案,並享受 Java 專家逐行程式碼審閱和一對一技術輔導,8 周掌握這門被最多人使用的程式語言,成為職場搶手人才。
作為首批中國學員,你即將挑戰以下 3 個實戰專案:
實戰專案 1
井字棋遊戲
完成 「井字棋遊戲」 遊戲程式的判斷邏輯,練習 Java 的基本語法和邏輯,在專案中熟練掌握運用 Java 語言。好的開始是成功的一半!我們將會提供遊戲的 UI,你用已經學會的 Java 基礎知識 ,為遊戲編寫判定勝負的邏輯。你可以和電腦對戰,也可以和朋友對戰。讓朋友們來體驗你的第一個程式設計作品。
實戰專案 2
填字遊戲
設計一個猜單詞的小遊戲。你將會使用「類和方法」來設計和編寫遊戲,讓遊戲者在有限的次數內,透過猜字母的方式,猜出正確的英文單詞。在專案中建立結構化程式設計思維,實現高效程式設計。
實戰專案 3
太空挑戰
在專案中建立和熟練掌握面向物件思維,嘗試從簡單問題開始解決變數複雜的問題。你會挑戰模擬在人類定居火星的過程中,向火星傳送一系列物品,比如:居住艙、燃料庫、食品和探測車等。你會嘗試自己定義類、方法、介面,編寫程式來確定應該如何選擇更合適的火箭型別。
掃碼免費試學!
Java 入門將於 3 月 21 日首次開課,部分內容已經提前免費放出,想成為首批 Java 矽谷專案的挑戰者嗎?長按二維碼關註公眾號「優達學習助手」,回覆“試聽”立即進入教室免費試學!
點選閱讀原文,瞭解更多課程詳情
⇣↓⇣↓