初識 Java:從 Applet 到企業級平台的認知轉折
Java 出現之初,正值 JDK 1.0 時代,多數開發者習慣 Visual Basic、Delphi 等視覺化開發工具,對命令列式的 JDK 開發模式頗感陌生。Visual J++ 雖提供編輯環境,卻僅支援有限功能,導致許多人誤以為 Java 只能寫 Applet 小程式,甚至認為不如 JavaScript 實用。然而,正是 Java 純粹的物件導向設計、清晰的程式碼結構,深深吸引了我。
物件導向的真諦:超越語法的設計哲學
C++、Delphi、VB、PowerBuilder 皆打著物件導向旗幟,但實際開發中往往被工具綁架:
- Delphi 雖內部設計優良,但開發者常將介面邏輯與資料操作混雜,難以達成「介面與資料分離」。
- VC++ 的 Doc/View 架構本意正是分離關注點,許多開發者卻為圖省事將所有邏輯塞進 View 類別。
- VB/PB 更難體會真正的物件操作精髓。
若曾接觸 Smalltalk,會發現連賦值、判斷等基礎陳述皆為物件,這種徹底的物件導向體驗,能強迫開發者真正理解 OO 精髓。Java 繼承了這份優雅,讓程式碼結構清晰、邏輯分明,這正是我鍾愛 Java 的核心原因。
Java 的實力遠超 Applet
許多開發者仍停留在「Java 只能寫 Applet」的刻板印象。實際上,Sun 官網展示的技術堆疊早已涵蓋:
- Jini、JMX、Java 3D、Servlet、RMI 等前沿技術
- IBM 以 VisualAge for Java 為法國開發全國鐵路管理系統,證明 Java 完全勝任大型任務關鍵系統
- Servlet 標準化程度遠超 CGI,網路程式開發體驗更優
- Jini 的裝置即插即用思想,將深刻改變未來生活空間
- XML 與 Java 的天然結合,開啟資料交換新紀元
- Java 3D (OpenGL binding) 突破瀏覽器 3D 渲染限制,雖早期效能不及原生 C++,但在網頁呈現真實 3D 已屬難得
跨平台不只是口號:真正的可重用性
C++ 編譯器間(VC++ vs C++ Builder)的程式碼共享極其困難,MFC 移植充滿坑洞。Java 則徹底實現「一次編寫,到處執行」的組件級重用:
- JDK、JBuilder、Visual J++、VisualAge for Java 產出的 Class 檔案完全互通
- 可靈活切換 IDE:用 VisualAge 做資料庫綁定,導出供 JBuilder 調用;用 JDK 編譯,Visual J++ 偵錯
- 不再被單一廠商工具綁架,開發者獲得前所未有的自由度
這份自由,正是物件導向「可重用性」承諾的真正兌現。