silhouette photo of mountains

Eclipse 會走向歷史嗎?

在還沒有 Eclipse 的時候,我就已經開始使用 Eclipse 了(這是什麼繞口令?)

Eclipse 的前身是 WebSphere Studio Application Developer(後面簡稱 WSAD),是 IBM 在 VisualAge for Java 這套 IDE 的下一代繼任者,印象中 VisualAge for Java 停留在 3.5 的版本,而 WSAD 是從 4.0 開始釋出給客戶做使用。

如果你現在在用 Eclipse 做開發,那你會很慶幸你沒碰過它的曾祖父那一代,跑起來又慢又重;那時候常常搞到我最後還是把 UltraEdit 開起來寫 code,然後在 cmd 底下 compile 程式。後來在 2001 年,IBM 將原始碼釋出給 Eclipse 基金會,從此進入了 Eclipse 這套開發工具的黃金時代,曾經有一批人愛用的 Sun Microsystem 的 Netbeans 就此式微。(Netbeans 也不是什麼太優秀的 IDE,如果你有用過某段時間的 Oracle database client 你就知道我在說什麼。)

而 WSAD 從 4.0 到 5.1.2,然後 IBM 併購了 Rational 後,將 WSAD 改名為 Rational Application Developer(後面簡稱 RAD),推出時為 6.0 的版本,在 2021/8 這個時間點版本是 9.6.1。

Eclipse 的黃金時代轉戾點,應該是在 Google 放棄以 Eclipse 作為 Android 開發工具的時候。從那個時候開始,IntelliJ IDEA 因為 Android Studio 採用做為底層,所以異軍突起成為另外一個主流的開發工具;不過由於 IntelliJ IDEA 的 JavaEE 版本一直都是要收費(而且很貴),所以間接造成了 JavaEE 的開發者,還是習慣性地使用 Eclipse 這個開發工具。

然而 Eclipse 也沒有那麼無懈可擊,至少在 JavaEE 這個版本裡面,針對 JavaScript 就有許多跟不上的問題,比方說:async 這個關鍵字,在 Eclipse JavaEE 這個版本裡的 JavaScript validator 是會把它認為是無效的,這讓很多會需要撰寫 JavaScript 的開發者覺得OOXX,不斷的在社群裡狂罵,罵了好幾年就是不見改善,只好另開一個子專案 Eclipse Wild Web Developer

但很遺憾的,這個子專案跟 Eclipse JavaEE 這個 package 完全不相容,沒有辦法把這個子專案裝在 Eclipse JavaEE 這個 package 上面,所以 JavaEE 的開發者(像是我)還是享受不到很多方便的 JavaScript 開發功能。

我的替代方案是:JavaScript 用 Microsoft Visual Studio Code(後面簡稱 VS Code)來撰寫。

作為一個崇尚自由的 Java 開發者,很難想像自己有一天會去稱讚 Microsoft solution;但 VS Code 真的是 Microsoft 一個很重要的決策,就像 IBM 在 2001 年將 WSAD 釋出給 Eclipse 基金會一樣,傾聽開發者的聲音,是建構軟體開發生態系不可獲缺的關鍵。

所以目前我的工作模式主要就是 Eclipse + VS Code 在進行,iOS 還是得用 Xcode、Android 還是得用 Android Studio。

可是這跟 Eclipse 會不會走向歷史有什麼關係?

主要是這幾個月有招募的需求,而我一直以來都是用上機測驗來確認面試者是否合格,但是在疫情的影響之下,又不方便請對方來辦公室考試,所以我有一段時間一直在看如何滿足我上機測驗的資訊。

看著看著,我就發現了 THEIA,接著發現這其實是 Eclipse 基金會的一個專案,一個打算同時滿足 Cloud 與 Desktop 的 IDE,而且大言不慚的在 UI 上直接向 VS Code 致敬;其中的成員 Redhat 已經推出了 CodeReady 這套產品,我也稍微上去玩過了,除了在初始化環境的時候(每一個 workspace 都是一個 Docker container)稍慢,但是在瀏覽器裡面使用的感覺倒是與 VS Code 沒有太大的差別;如果非微軟陣營(除了 Apple 之外,Google、IBM、Redhat)都在這個專案裡面,這樣大概可以猜到這個專案吸引人的地方。

如果 Eclipse 發展遇到瓶頸,像是 Eclipse JavaEE 的 JavaScript 支援一直跟不上時代這個例子,然後 Eclipse 基金會自己又開了一個專案,說要建立一個同時滿足 Cloud 與 Desktop 的 IDE,而且是跟 VS Code 致敬,其實不難猜想 Eclipse 這個 IDE 會有 sunset 的一天(日蝕然後落日,好有畫面啊!)。

並且 Microsoft 在併購了 Github 之後,就將原來的 Visual Studio Codespaces 停掉,併入 GitHub Codespaces 去發展;或許在不久的將來,我們可以看到除了 Apple 之外的大咖,他們所釋出給開發者使用的 IDE,都是相同的底層。

當然 Apple 也不是吃素的,Xcode Cloud 已經在 beta 的階段了。IntelliJ IDEA 呢?暫時還沒有看到類似的動作,或許他們有不一樣的想法。

THEIA 也可以自建,或許在疫後時代,需要像我這樣面試開發者的企業,會有相關的需求;如果是在做線上程式教育訓練的業者,不妨也可以看看這個專案。

不過,當有一天開發者都在 cloud 寫 code,然後再搭配上 AI…

那時候可能就沒有「開發者」這個工作可以給人類做了。

那會是怎樣的一個世界啊?

markkwsu

markkwsu

2 comments