【編者按】對於前不久 Oracle 裁掉了一部分 Java 佈道師,近日一位 Oracle 前高管稱其爲該機構對Java的「計劃報廢」。若是這個計劃是屬實的,那麼對於尋常的開發者、已經採用了 Java 的公司、預備選擇 Java 做爲基礎的創業者,究竟又會產生什麼樣的影響?近日,Jason Whaley 在 Dzone 上進行了詳細的分析。本文由 OneAPM 工程師編譯整理。html
幾個月前,Oracle 裁減了部分 Java 佈道師。不久以後,一位 Oracle 前高管在發送給Infoworld 的郵件中稱此舉爲「計劃中的報廢(planned obsolescence)」。java
一位負責 Java 的 Oracle 前高管在週二發給 InfoWorld 的這封郵件中聲稱瞭解 Oracle 公司內部信息。郵件稱 Oracle 正在轉型爲雲公司,以期與 Salesforce 競爭。並且,「Java 已經徹底失寵」,主題欄的原文爲「Java——計劃中的報廢」。編程
郵件還說,Oracle 不想給競爭對手更多資源,不想分享創新成果。Oracle 正在縮減對 Java EE (企業版)的投入,同時它也不但願別的公司接手 Java 或 Java EE,並且它正逐步將 JCP (Java Community Process) 打入冷宮。郵件稱:「它們抱着贏者通吃的想法,再也不熱衷於合做」。「WebLogic 的專利申請將會逐步完成,同時,也會推出一個專利的微服務平臺。」WebLogic 是 Oracle 在2008年收購 BEA Systems 時獲得的 Java 應用服務器。服務器
若是以上陳述有一半屬實,那 Oracle 的想法和計劃真是至關嚇人。如今,將上面的陳述與下面的事實一塊兒考慮。事實上,Oracle 掌握了 Java 大部分的全部權。架構
最後,將以上全部事實與 Oracle—— Java 惟一擁有者的將來計劃一塊兒考慮。oracle
是否是以爲有點誇大其實?多是吧。但若是 Oracle 真打算將 Java 平臺投入維護模式,以上想法並不是無稽之談。那麼,對於天天依賴 Java 或 JVM 工做的尋常開發者而言,這冷酷的前景意味着什麼呢?對於那些以 Java 技術爲軟件基礎架構支撐的公司而言,又意味着什麼呢?對那些正準備用 Java 編寫產品原型或 MVP(最小化可行產品)的初創者,又如何呢?前面全部問題的答案是:「沒有任何影響。至少如今是這樣。」編程語言
對於尋常的開發者ide
Java 仍舊是當下部署最普遍、使用最廣泛的平臺語言。我掌握的一手資料顯示,今年的 JavaOne 大會依舊充滿生機。現今主流的基礎架構仍是以 Java 爲基礎構建。在 TIOBE(編程語言排行榜)上,Java 仍是跟 C 一塊兒,交替處於榜首。微服務
圍繞 Oracle 裁減佈道師的陰雲與猜想並不會對僱主們的 Java 或 JVM 技能需求產生任何影響,今天不會,明天不會,明年也不會——恐怕要有好一陣纔有影響。即使 Java 語言和標準 API 的普及率降低了,愈來愈多的新語言正以更快的速度基於 Java 平臺進行開發,那些(更廣泛的狀況)自帶 API 的語言,每每也是基於標準 API 的。工具
以上全部開發都依賴於該家喻戶曉的熱點 JVM,那 Oracle 對其知識產權的控制又如何呢?即使 Java 再也不流行,仍有 Azul 之類的公司願意向 Oracle 購買證書從而經過其兼容的 JVM 賺錢,好比他們的商業產品 Zing 以及免費的 Zulu。
對於尋常的開發者,這個新聞無須掛懷。即使是那些將所有職業生涯都賭在 Java 這一種平臺的開發者,這麼作雖然比較不明智,但也不用擔憂。圍繞 Java 生態系統的技能與知識需求不會在短期內消失。
對已經採用了 Java 的公司
與平常開發者差很少,變化也不大。以前就在基礎機構中採用了 Java 的公司早就賭定 Java 能幫助其完成既定的商業目標——即便該平臺的背後支持是傳說中「邪惡」的 Oracle,或更早以前,一直都窮困潦倒的 Sun Microsystems。 這些全面展開的系統既然能實現商業目標,就不能由於它們創建在 Oracle 發佈的平臺之上,而淪爲拋棄對象。
通常而言,在短期內重寫或替代重要基礎架構中的 Java 組件的成本與風險遠遠大於回報。此處的回報是在將來,你新採用的平臺變得很是廣泛從而最終下降成本、提升業務敏捷性。重寫並替換工做系統是很是危險的冒險——只要看看 Netscape 的例子就知道了。即使一個公司順利地完成了遷移,回報也只能在多年之後得以實現。
若無論替換工做系統的問題,爲了不將來陷入遺留系統的困境,已經採用 Java 的公司組織能夠將基礎架構遷移至微服務模型(microservices model)以下降風險。微服務策略也是一把雙刃劍,該話題在軟件開發領域還處於熱烈的討論階段,包括什麼時候、何處、如何部署微服務架構。但如果擔憂與 Oracle 中止開發的平臺綁定的潛在風險,機警的公司至少能夠經過微服務,逐步地,替換或孤立以 Java 爲基礎的服務組件。
新的項目該何去何從呢?
若是你正在籌備新的科技公司或啓動內部新項目,而且以爲 Java 是合適的技術選擇,就須要討論一下該不應以 Java 生態系統爲基礎。討論的焦點仍是集中在可能產生的技術債務(technical debt)。在選擇平臺時這類技術債務徹底沒法避免——區別在於這些債務的回報如何。
選擇 Java 平臺意味着得到健康廣闊的生態系統,以及豐富的知識、勞動力與相關產品。做爲交換,由此帶來的技術債務在於,該平臺也許沒法適應將來的技術演進,由於其全部者不打算繼續開發它。如今,你或許能夠開發出健康的產品,儘管將來會的開發成本會愈來愈高,甚至犧牲將來的業務敏捷度。
其餘的平臺選擇都有各自的技術債務。但簡而言之,各有各的不一樣。好比:
……還有許多其餘選擇,每一個選擇都是利弊權衡的問題。
簡而言之,是否選用 Java 平臺做爲新項目的基礎平臺很大程度上是我的決策。Oracle 可能厭倦了 Java,但這是否應該影響這個決策呢?固然應該。可是,這不應是惟一的考慮因素。尤爲是藉助 Java 生態系統創建項目,能可觀地提升項目成功的機會。
原文連接:Even if Oracle is Losing Interest in Java, Should You Worry?
OneAPM for Java 可以深刻到全部 Java 應用內部完成應用性能管理和監控,包括代碼級別性能問題的可見性、性能瓶頸的快速識別與追溯、真實用戶體驗監控、服務器監控和端到端的應用性能管理。想閱讀更多技術文章,請訪問 OneAPM 官方博客。