技術趨勢

Java 已死 ? 那它為什麼還是 TIOBE 排行 第一名?

您的👍是我們的動力來源!


Java 的應用廣泛,從網站、手機app到遊戲製作,它更是金融業及大企業非常喜愛的程式語言。
但近年來,各種不同的程式語言浮出水面,解決了很多複雜的問題,但同時也讓入門的人不知道該從何下手。

以前提到「工程師」,總會伴隨著學習 Java ,現在卻越來越少聽到,為什麼現在大家都先推薦其他程式語言,而不再是 Java 呢?

文章目錄

Java 流行程度第一名,卻有人說「Java已死」,到底怎麼回事?

TIOBE 發布了2019年4月,衡量編程語言的流行程度,其依據網絡上有經驗的程序員、課程和使用的企業數、再加上搜尋引擎及Wikipedia、Amazon、YouTube..等平台中查詢該語言名稱的數量,統計出的排名數據。

(圖/ https://www.tiobe.com/tiobe-index/)

從上圖可見, Java 排名雖然相較上個月下降了一些,但自從它在2015年再次超越 C 語言 拿下第1名後,便堅守位置至今;另外C++ 在本月與 Python 交換位置,重回第3名,這並不是因為 Python 開始衰退,只是 C++ 也越來越受歡迎。
雖然這個排名無法全然表達程式語言現況,但也一定程度的代表了目前程式語言的趨勢走向。

從排行榜可以得知 Java 仍有非常多人在使用及搜尋它,但還是很多的文章推薦各位從 JavaScript、Python…等開始入門,這是為什麼呢 ?

主要可以分為以下兩個原因:

  • Java 學習時間較長
    現在學習程式語言幾乎要成為「全民運動」,每個人都應該具備基礎知識,最好能知道如何架設網站;在這樣的世代「學什麼」就顯得非常重要。
    在過去想成為工程師總會被推薦學習 Java ,它不只能架設網站、製作遊戲、還有各式各樣的應用都能開發,但學好它卻要花費較多的時間,軟件公司做過一個調查,零基礎上手 PHP 只要三個月,但上手 Java 要半年;而其他的程式語言只要知道他的邏輯、看得懂英文,幾乎都能快速開發。
  • 其他語言相較易懂
    現在我們常聽到的那些程式語言,如:JavaScript、Python..,起源都是為了能夠讓我們更加快速的上手以及編寫程式,且屬於「高階語言」,它們跟Java最大的不同在於 Java 是「編譯語言」

編譯語言產生的程式幾乎都是可獨立執行的,因為它們都是由編譯器進行型別/語意等檢查,程式碼幾乎可以直接存取系統服務 (system service) 與 APIs,所以執行效率會特別好;直譯式語言則是必須依賴一個執行環境(execution context),語言可用的功能由這個執行環境提供,例如 JavaScript 只能使用瀏覽器提供的功能,它無法獨立執行 (看起來像獨立執行,實際上卻是系統自動在背後建立執行環境,如 HTML Application),但直譯語言的程式碼會更接近「人類看得懂的語言」,所以更適合初學者學習,建立作品的速度也更快。

所以,為什麼會被說「Java已死」?

  1. 開發效率低:Java 每一次修改文件都需要等待它重新部署到它的環境下,一等可能就是 10 分鐘以上。
  2. 運行速度慢:為了達成「跨平台」的目標, Java 在編譯完之後還要再進行解釋,才能讓不同的框架使用,而項目完成部署後,第一次運行的時間也是一大考驗。
  3. 能取代的程式語言太多:如果要架設網站,可以選 PHP 、 Python ,想寫遊戲可以學 C#、連製作安卓手機軟體都出現了可以取代 Java 的 Kotlin 。

既然這樣,那 Java 的優勢在哪 ?

並沒有程式語言是完美的,但 Java 還是有令人無法忽視的優點。

  1. 學習 Java 便能架設網站、製作手機 app 及交易系統…等,幾乎沒有做不到的事情
  2. Java 的程式語言能夠「跨平台運作」,寫好的程式碼可以在各種框架下使用,不用為了不同的裝置、作業系統而寫不同的程式碼
  3. 台灣使用 Java 的企業仍舊佔多數,人才需求也較多
  4. 發展相較成熟,有很多的社群資源可以使用
  5. 甲骨文公司管理,使用上出問題有地方能回報及改善

可是…我聽說Java要收費了?

Java 收費對於個人使用者並無太大影響
Java 要開始收費是指在2019年1月以後釋出的 Java 8 更新,需要付費購買 Oracle 的商業許可證。這個收費其實是對於「到達生命週期階段」的 Java 版本,因為要維護這些舊有版本仍需耗費大量資源,所以需要付費來更新。這個作法是希望讓開發者持續更新到最高版本。除此之外 Java 的收費對象主要都是企業的使用者,對於個人使用者上其實並無太大影響!

總結 – 不是 Java 已死,只是我們有了更多的選擇

如前面所說:「如果要架設網站,可以選 PHP 、 Python ,想寫遊戲可以學 C#、連製作安卓手機軟體都出現了可以取代 Java 的 Kotlin 。」

但 Java 的人才需求並沒有減少,反而還增加,很多企業、學校依舊使用 Java 開發,台灣也不例外。
只是現在大家希望能更簡單快速地獲得技能,快速做出成品並進入職場,所以在學習時選擇了更簡單且能快速上手的程式語言;許多企業也逐漸偏向好開發又好維護的程式語言作為開發的主力。

所以,
如果你是初學者,想進入工程師的領域,你可以先選擇其他程式語言,讓你在學習中獲得更多的成就感,建立對程式語言的熱情;
如果你已經學習過其他的程式語言,非常建議你再進修 Java ,穩固基礎、增加自身的能力及職場的競爭力,更能挑戰進入跨國企業工作!

Java 專業入門指南】系列課程,四大路線規劃,基礎入門、輔導考證、網站應用及手機應用, 讓 Java 提升你的競爭力,成為全方位的 Java 應用人才 !   
  講師 趙令文 擁有 30年的開發經驗及10餘年的教學經驗,老師認為「實戰」才是學習最重要的一環,於是在這系列課程中精心準備了各式各樣的實戰練習,不用擔心都只學到空泛的理論,而是直接應用在你的作品中 ! 
【歡迎追蹤訂閱】HiSKIO 嗨 程式技能」科技資訊文章、實用工具分享、新課程優惠領取
「Hi 直播學程式」不定期專題直播
「HiSKIO youtube頻道」免費實用課程、工程師經驗分享
最懂初學者的「F5學程式」
不想一個人孤單寫 code ? 來活力滿點的「程式丼起來」加入話圈吧 !
Facebook Comments