位元詩人 Java 的定位與使用場景

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

本文說明 Java 在當前環境下的定位,以及適合使用的場景。

當前定位

跨平台已經是現代程式語言的基本能力,不再是選擇 Java 的主要理由。不過,Java 平台本身非常成熟且穩定,仍然是開發大型應用程式時的常見選擇。

Java 的函式庫生態系非常完整,但在人工智慧等新興領域,逐漸落後於 Python。如果專案中有 AI 需求,常見的做法是將相關功能以 Python 實作為服務,再由 Java 負責其他系統部分。

接下來,我們會從幾個面向來看 Java 的特性。

跨平台

在 Java 剛問世的年代,像 C++ 這類語言在跨平台時,常常需要針對不同系統進行額外調整,是一個實際存在的工程問題。

Java 採用的做法,是在作業系統之上再建立一層執行環境(JVM),讓程式碼不直接依賴底層系統。這種設計後來成為許多語言與平台的參考模式。

如今 C++ 的跨平台工具鏈已經成熟許多,但 Java 透過 JVM 提供一致執行環境的特性,仍然是它的重要特色之一。

將物件導向融入語法

Java 誕生的時代,物件導向是主流設計思維,因此語法設計上刻意強調這一點。例如:

public class MainProgram
{
    public static void main(String[] args) {
        /* Implement your code here. */
    }
}

從現在的角度來看,這樣的寫法可能顯得有些繁瑣,但這反映的是當時對「一切皆物件」的設計取向。

另外也有一些偏工程導向的規則,例如「公開類別名稱必須與檔名相同」,目的是讓大型專案的結構更清晰。

穩定的平台

Java 長期被企業用於開發後端系統與大型應用程式。經過長時間與大規模的實務驗證,整體平台已經相當成熟。

這並不代表 Java 不會出問題,而是當系統出現錯誤時,通常可以先從應用程式本身著手,而不是懷疑平台是否可靠。

用於資訊教育

作為入門語言,Java 提供完整的語言特性。雖然需要適應較強的物件導向風格,但整體而言沒有明顯障礙。

用來學習資料結構時,Java 內建的工具讓操作變得相對簡單,少了記憶體管理的負擔,但也因此減少了對底層運作的理解機會。

在學習演算法時,Java 是一個可接受的選擇。語法結構清晰,可以讓學習重點放在問題本身,而不是語言細節。

Java 授權議題

Oracle 對 Java 的授權模式進行過調整。目前 Oracle JDK 在某些情況下免費使用,但商業用途通常需要付費訂閱。

實務上,多數專案會使用 OpenJDK。這是開源版本,授權相對單純,可以安心使用。除非有特定需求,一般建議直接採用 OpenJDK。

Java 的發行版本

如果沒有特別需要新功能,通常建議選擇長期支援(LTS)版本。

在本文撰寫時,最新的 LTS 版本為 Java 25。

Java 平台語言

除了 Java 本身,Java 平台上還發展出多種語言,例如:

  • Groovy:語法較為簡潔,風格接近 Ruby,並與 Java 保持高度相容
  • Scala:結合物件導向與函數式程式設計
  • Kotlin:近年相當熱門,常用於 Android 開發
  • Clojure:以 Lisp 為基礎的函數式語言

在學習上,通常建議先掌握 Java,再依需求延伸到其他 JVM 語言。

關於作者

位元詩人 (ByteBard) 是資訊領域碩士,喜歡用開源技術來解決各式各樣的問題。這類技術跨平台、重用性高、技術生命長。

除了開源技術以外,位元詩人喜歡日本料理和黑咖啡,會一些日文,有時會自助旅行。