2017年1月9日 星期一

棄 Java 擁 Python (已修正為兼容並蓄)

最近在 Tsung's Blog 看到這篇 :

# Oracle 取締未經適當授權的 Java 用戶

自從 2009 年甲骨文 (Oracle) 要併購昇陽 (SUN Micro System) 的消息曝光後, 我就對 Java 的未來就感到不樂觀, 一部分是因為我對 Oracle 的老闆 Lary Ellison 的印象不是很好, 但最重要的原因是 Java 作為一個廣受產業界與學術界歡迎, 最有影響力的 OOP 語言, 如果主導權落在一個完全商業導向的公司手裏, 那它的 Open Source 精神還能維持多久? 參考 :

我看 Java 的過去與未來
Oracle比Sun更聰明?細看JCP及Java的未來之路
Flash 未死Java 先躺平,Oracle 未來不再推出Java 瀏覽器外掛

另外一個原因是 Java 的版本問題. 公司有多套系統採用 Java, 但是使用的 JVM 版本不同, 同一台電腦上必須安裝不同版本的 JVM, 照理說各軟體會選擇對應的版本, 但問題就是只有一個能運作, 其他的都不行. MIS 的人研究了好久還是沒輒. 很諷刺的是, 標榜跨平台的 Java 竟然連自己的版本差異都跨不過去 (當然有可能是我們對設定不夠了解之故).

在 Google 決定採用 Java 作為其 Android 作業系統的語言後, Oracle 就併購了 Sun, 並隨後對 Google 提起了長達六年的侵權訴訟, 但最終 Google 獲得勝訴. 這件官司也讓 Google 決定未來的 Android 版本不再採用 Java JDK, 改用 OpenJDK, 而且開發語言也要從 Java 改為蘋果的 Swift 語言, 參見 :

# Google 贏了 Oracle 官司!使用 Java 合理合法
Google 宣布:下一代 Android 系統不用 Java!
Google 受夠了 Java,將改用 Apple 推出的程式語言 Swift

對於這種發展我不樂見, 因為 Java 是我第一個認真學習的程式語言 (在它還不是很紅的時代), 多年後還被公司要求去考了 SCJP 6 認證, 具有一種革命情感, 看到它即將被 Oracle 玩死, 心裡有一種莫名的哀傷 (同樣的喟嘆也發生在 PHP 的絕配 MySQL 上).

其實我在兩年前還在學習 Java 的 Swing. 後來由於 GAE 的關係, 我的興趣轉到 Python, 由於 Python 的簡潔俐落以及龐大的套件支持, 對比之下使我漸漸對 Java 的繁瑣擁腫感到有些不耐. 我非常看好 Python 的發展, 同樣是跨平台 (但 Java 無法跨到 iOS), 但 Python 仍是生龍活虎的 Open Source 語言, 而 Java 卻暮氣沉沉了.

附帶一提的是, 我雖然不太認同 Lary Ellison 的作風, 但網路上一篇關於 Larry 在耶魯大學的演講卻是捏造的, 不要被騙了 :

史上最狂妄的演讲
歷史上最牛的畢業典禮演說
# 孰真孰假:号称史上“最狂妄”演讲实为世纪骗局?

2018-02-01 補充 :

新年過後工作調換, 換回四年前的職掌, 為了讓日常作業更有效率, 又把之前用 Java 寫的專案程式找出來用, 但太久沒用生疏了. 這讓我修正以上的看法, 功夫只怕會的太少, 沒有自廢武功的道理, Java 原本是我所熟悉的技術, 沒理由不用啊! 我過去在 Java 技術上累積的函式庫就此丟棄未免可惜, 所以我改變了想法 : 會 Java 也會 Python 更好!

沒有留言 :