Java 突然不行了?。?!
TIOBE 公布了 2023 年 編程語(yǔ)言排行榜。
Java 首次跌出前 3 名。打破了一直堅(jiān)挺的老大哥身份。
C# 逼近 Java,即將跌至第 5 名?
去年 12 月,Java 歷史首次被 C++ 超越、跌出榜單前三的事實(shí),令許多程序員深感意外,由此發(fā)出不少 “Java 英雄遲暮?”、“Java 真的已死?”的疑惑。自此以后,這 10 個(gè)月來(lái) Java 在 TIOBE 編程語(yǔ)言榜單的排名再也沒(méi)上過(guò)前三,與 C++ 之間的差距也日益擴(kuò)大。
可能很難預(yù)料到,昔日常年霸榜的 Java 在被擠出 Top 3 之后,如今甚至還面臨著被 C# 超越、即將跌至第 5 名的危險(xiǎn)。
從市場(chǎng)份額來(lái)看,Java 在 Top 20 編程語(yǔ)言中的降幅最大,為 3.92%;反觀 C# 的漲幅高達(dá) 3.29%,彼此僅相差 1.2% —— 按照 TIOBE 的官方說(shuō)法:“C# 和 Java 之間的差距從未如此之小。如果這種趨勢(shì)保持不變,預(yù)計(jì) C# 將在兩個(gè)月后超過(guò) Java?!?/span>

回顧 C# 誕生的這 23 年來(lái),它與 Java 之間因相似的特性與應(yīng)用領(lǐng)域一直競(jìng)爭(zhēng)不斷。2000 年,微軟發(fā)布由 C 和 C++ 衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言 C#,也是運(yùn)行于 .NET Framework 和 .NET Core(完全開(kāi)源,跨平臺(tái))之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,由 Delphi 和 TypeScript 之父、.NET 創(chuàng)立者 Anders Hejlsberg 開(kāi)發(fā)。
乍看之下,C# 與 Java 驚人地相似:面向?qū)ο缶幊痰恼Z(yǔ)言,有著幾乎同樣的語(yǔ)法,都需要編譯成中間代碼再運(yùn)行,都支持跨平臺(tái),都支持單一繼承和多接口實(shí)現(xiàn),都提供自動(dòng)垃圾回收功能,都支持強(qiáng)引用和弱引用,此外異常處理方式也幾乎相同……
不過(guò),C# 與 Java 之間的區(qū)別也很明顯:C# 借鑒了 Delphi 的一個(gè)特點(diǎn),與 COM(組件對(duì)象模型)直接集成,還支持在創(chuàng)建數(shù)組時(shí)既定義數(shù)組大小又給數(shù)組賦值,同時(shí)支持使用預(yù)處理程序指令進(jìn)行條件編譯和 goto 語(yǔ)句等等。
然而,Java 受歡迎程度下降的原因不僅是因?yàn)楹髞?lái)者 C# 的各種優(yōu)勢(shì),也因?yàn)?span style="outline: 0px;caret-color: transparent;visibility: visible;">甲骨文公司在 Java 8 之后決定引入付費(fèi)許可模式。
而微軟在 C# 上則是采取了相反的策略:先是只能用作商業(yè)工具 Visual Studio 的一部分使用,如今 C# 已是免費(fèi)開(kāi)源的,因此受到了許多開(kāi)發(fā)人員的歡迎。
除了付費(fèi)許可模式,TIOBE 還推測(cè)了一些 Java 逐年衰落的其他原因,例如 Java 語(yǔ)言的定義在過(guò)去幾年里沒(méi)有太大變化,相比之下“其完全兼容的直接競(jìng)爭(zhēng)對(duì)手 Kotlin 更容易使用,而且免費(fèi)”——似乎是印證了這個(gè)說(shuō)法,在本月的 Top 20 榜單中,Kotlin 繼上個(gè)月強(qiáng)勢(shì)“殺回” Top 20 后,本月再次上升兩個(gè)名額,到了第 18 名。
其他編程語(yǔ)言
以下為 Top 21-50 的編程語(yǔ)言榜單:
第 51-100 名如下,由于它們之間的數(shù)值差異較小,僅以文本形式列出(按字母排序):
4th Dimension/4D, ABC, ActionScript, Apex, APL, Ballerina, bc, CL (OS/400), Clean, Clipper, CLIPS, Clojure, Crystal, Curl, Eiffel, Elixir, Erlang, Forth, Groovy, Hack, Icon, IDL, Io, J, J#, LabVIEW, Ladder Logic, LiveCode, ML, Modula-2, MQL5, NATURAL, Nim, OCaml, OpenEdge ABL, PL/I, PostScript, Pure Data, Q, Racket, Raku, REXX, RPG, Smalltalk, SPARK, SQR, Tcl, TOM, VHDL, Wolfram
Top 10 編程語(yǔ)言 TIOBE 指數(shù)走勢(shì)(2002-2023)

歷史排名(1988-2023)
注:以下排名位次取決于 12 個(gè)月的平均值。
詳細(xì)榜單信息可參考 TIOBE 官網(wǎng):https://www.tiobe.com/tiobe-index
最后,關(guān)注公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師,在后臺(tái)回復(fù):2T,可以獲取我整理的 Java 系列面試題和答案,非常齊全。
正文結(jié)束
推薦閱讀 ↓↓↓
1.JetBrains 如何看待自己的軟件在中國(guó)被頻繁破解?
2.無(wú)意中發(fā)現(xiàn)了一位清華妹子的資料庫(kù)!
5.為什么國(guó)內(nèi) 996 干不過(guò)國(guó)外的 955呢?
正文結(jié)束
1.JetBrains 如何看待自己的軟件在中國(guó)被頻繁破解?
2.無(wú)意中發(fā)現(xiàn)了一位清華妹子的資料庫(kù)!
5.為什么國(guó)內(nèi) 996 干不過(guò)國(guó)外的 955呢?
評(píng)論
圖片
表情
