天天看點

讨厭java_讨厭Java嗎? 您正在打錯仗。

讨厭java

我最近看到的最有趣的趨勢之一是Java在部落格,DZone等網站上的人氣不足。 通過暗示Java在任何方面都比他們喜歡的Web 2.0語言優越,似乎甚至有些人感到冒犯,甚至是個人的冒犯。

Java取得了廣泛的成功,其原因有很多:

  • 在成熟的公司中已被廣泛接受。
  • 它是最快的語言之一。
  • 它是最安全的語言之一。
  • 同步原語内置于該語言中。
  • 它是獨立于平台的。
  • 熱點是開源的。
  • 成千上萬的Java産品供應商。
  • 存在成千上萬的Java開源庫。
  • 通過該JCP(Oracle之前的版本)進行社群治理。

對于任何一種語言來說,這都是相當不錯的履歷,而且它表明,Java作為周圍最受歡迎的語言之一已經有很長的發展史了。

那麼,為什麼在2010年末和2011年突然間,Java突然變成了令人讨厭的惡魔?

  1. 讨厭Java很流行。
  2. 類似C的文法不再流行。
  3. 對Oracle的仇恨正在被用來促進個人利益。
  4. 人們已經接觸過用Java編寫的非常糟糕的代碼。
  5. …在此插入下一百個原因。

Java(實際的語言和API)确實存在很多實際問題……這裡太多了(本機和對象類型的混合,大量廢棄API,不一緻使用檢查異常)。 但是我要提供一個橄榄樹枝……讓我們讨論一下真正的問題,不要把嬰兒和洗澡水一起扔出去。

那麼,這個行業的真正問題是什麼? Java因其缺點而完全征服了Web應用程式程式設計。 一方面,人們正在以令人難以置信的速度發明費力的新語言,以征服Web應用程式程式設計。 兩者混為一談,剩下的就是一群預科商場孩子,他們通過霹靂舞在街頭争奪。 而且,盡管每個人都在争論PHP或Rails 3.1是否運作得更快,是否可以處理更多并發請求,但房間裡卻隐藏着一頭沉默的大象,當我們在有關文法和運作時的幼稚論點中杜絕它時,它在悄悄地笑着。

告訴我,以下幾點有何共同點?

  • 用信用卡付款。
  • 去急診室
  • 調整您的401k。
  • 在牙醫處使用您的保險卡。
  • 到處逛逛,以獲得最好的汽車保險。
  • 一輛BNSF火車拉着Union Pacific煤車。
  • 在銀行之間轉移資金。
  • 填寫處方。

上述所有行業在我們的經濟中都是數十億美元的參與者。 以上所有行業都編寫了新的COBOL和大型機組裝程式。 我沒有對此進行補充,我在上一個行業工作,并且我采訪了其他行業并進行了實習。

為了上帝的緣故,1959年發明的COBOL至今仍在真實地編寫中! 我們不是在這裡和那裡維護幾行,而是每天在談論成千上萬的新行,以實作新的功能和新的要求。 這些行業甚至還沒有聽說清風已經轉移到雲端。 這些行業至關重要。 它們構成了我們經濟的基石。 盡管如此,他們還是沒有創新,他們用傳統技術承擔了沉重的費用。 經營業務的成本是巨大的,其中很大一部分是IT成本。

多麼昂貴? 例如,讓我們讨論一下大型機許可。 假設您購買了企業版的MongoDB,然後裝在盒子裡。 然後,您繼續确定CPU與資料庫之間進行事務處理的事務。第二周,您休假,使MongoDB無需執行任何操作即可運作。 兩個星期内,MongoDB花費了多少? 相同。

大型機軟體的許可差别很大。 假設您以幾百萬美元的價格購買大型機并為其購買資料庫産品。 然後,您将花費整整一周的時間将CPU與資料庫請求挂鈎。 您檢查了您的郵件,現在您從資料庫供應商那裡收到了一百萬美元的賬單。 等一下,我買了硬體,為什麼還要再付賬單? 大型機上的軟體通常按使用量或使用該軟體花費的CPU周期數計費。 如果您花費2,000,000 cpu周期來運作資料庫,最終将欠供應商$ 2百萬。 izz子? 絕對!

您每天使用的這些無形的行業充滿膨脹,遺留系統和高成本。 Java開始征服許多領域,盡管它完全接管了Web應用程式領域,但在集中式計算方面卻失敗了。 這些行業已經為降低成本和提高效率做好了準備,但老實說,我們感到尴尬。 這些行業堅持使用遺留系統,因為他們認為Ruby,Python,Scala,Lua,PHP,Java可能無法處理其遺留系統提供的“負載”,可伸縮性或正常運作時間要求。 到目前為止,這還不是事實,但盡管網絡技術取得了飛躍性的發展,但在過去的15年中,競技場上仍有0項創新。

是以,下周有人會發明另一個使Twitter易于使用的DSL,但是您的銀行将編寫新的COBOL,以便更有效地将資金轉移到另一家銀行。 我們的瑣碎辯論令人尴尬。 整個經濟都需要看到分布式計算的優勢,但是如果友好之火持續下去,我們都會輸掉一切。 以免停止這些荒謬的争論,和平地傳遞火炬,并征服其中一些龐然大物!

參考: 讨厭Java嗎? 您正在打錯仗。 來自The Code Mechanic部落格的 JCG合作夥伴 。

相關文章 :

  • 選擇一種新的程式設計語言來學習
  • 每個程式員都應該知道的事情
  • 生存在荒野西部開發過程中的9條提示
  • 軟體設計法則
翻譯自: https://www.javacodegeeks.com/2011/06/hate-java-fight-wrong-battle.html

讨厭java