編程語(yǔ)言榜單Java與Python并列第二!Julia下滑
近日,全球知名行業(yè)分析公司 RedMonk 發(fā)布了 Q3 的編程語(yǔ)言榜單,本排行榜基于 GitHub 和 Stack Overflow 兩大社區(qū)中使用及討論的編程語(yǔ)言熱度進(jìn)行排行,真實(shí)地反應(yīng)了開發(fā)者對(duì)各大編程語(yǔ)言應(yīng)用的現(xiàn)狀,也希望透過此榜單能夠?yàn)楦嗟膹臉I(yè)者在工具的抉擇層面帶來一些借鑒。
RedMonk 編程語(yǔ)言排行榜 TOP 20
通過調(diào)查與分析,RedMonk 編程語(yǔ)言排行榜 TOP 20 如下:
- JavaScript
- Python
- Java
- PHP
- CSS
- C++
- C#
- TypeScript
- Ruby
- C
- Swift
- R
- Objective-c
- Shell
- Scala
- Go
- PowerShell
- Kotlin
- Rust
- Dart
值得關(guān)注的變化
和上個(gè)季度的榜單相比,在本季度中,RedMonk 官方也總結(jié)出一些值得關(guān)注的重要變化:
Java
過去一段時(shí)間中,在 Python 迅猛的增速之下,Java 的腳步有所放緩,從原來的第二名下降到了第三位,就在很多從業(yè)者擔(dān)心 Java 的使用率是否會(huì)進(jìn)一步下降時(shí),在本季度中,Java 重新回歸,與 Python 并列榜單第二位。
不過,在編程語(yǔ)言層出不窮的發(fā)展趨勢(shì)下,不少?gòu)臉I(yè)者似乎并不太看好 Java,甚至定期為企業(yè)基礎(chǔ)設(shè)施的堅(jiān)定者(Java)撰寫墓志銘。但現(xiàn)實(shí)來看,Java 屹立不倒自然有其自身的發(fā)展優(yōu)勢(shì),它曾作為用于數(shù)字電視機(jī)頂盒的一種主力編程語(yǔ)言,在不斷變化的技術(shù)潮流中,仍然可以找到其能夠勝任的地方。
這些年來,Java 在這些排名上的表現(xiàn)給人留下深刻印象,而且由于它表現(xiàn)出非凡的適應(yīng)快速變化環(huán)境的能力,因此它是一種難以與之抗衡的語(yǔ)言。
TypeScript
TypeScript 在本季度的排名位居第八位,現(xiàn)在該語(yǔ)言面臨最大的問題是其是否還能夠持續(xù)增長(zhǎng)甚至超越 C#、C++、PHP 等老牌編程語(yǔ)言?亦或是現(xiàn)在的排名已經(jīng)到了它的極限?
對(duì)此,RedMonk 官方表示,現(xiàn)在一切說不準(zhǔn),但一年前這個(gè)時(shí)候,TypeScript 在排名所依據(jù)的綜合得分中落后第 5 名語(yǔ)言 6 分,但這次差距只有兩個(gè)點(diǎn)。當(dāng)然,過去的表現(xiàn)也不總是能夠代表其未來的發(fā)展。
Go/Kotlin/Rust
與 TypeScript 一樣,Kotlin 和 Rust 在本次排名中都沒有變化。一方面,這一現(xiàn)狀可能會(huì)令該些語(yǔ)言的擁護(hù)者失望,但另一方面,它也反映了系統(tǒng)語(yǔ)言新出現(xiàn)的一些現(xiàn)實(shí)問題,即 Kotlin 和 Rust 的相對(duì)表現(xiàn),以及 Go 的長(zhǎng)期停滯不前會(huì)給我們帶來一些思考。
多年來,Java 一直面臨著強(qiáng)大挑戰(zhàn)者的挑戰(zhàn),以爭(zhēng)奪企業(yè)應(yīng)用程序首選語(yǔ)言的稱號(hào)。但是,正如上文所述,Java 并沒有在被挑戰(zhàn)的過程中受到一定的影響。事實(shí)上,與 Go、Kotlin 和 Rust 不同,Java 在排在第三位的兩個(gè)季度之后,它的份額在此次成功增長(zhǎng)。通過自身適應(yīng)性和企業(yè)應(yīng)用的習(xí)慣相結(jié)合,Java 仍在企業(yè)級(jí)應(yīng)用程序市場(chǎng)中占有很大的份額,這也意味著 Go、Rust、Kotlin 這些挑戰(zhàn)者能夠帶來的影響微乎其微,同時(shí)因?yàn)檫@些語(yǔ)言共享 JVM 平臺(tái),所以其與 Java 之間的競(jìng)爭(zhēng)要遠(yuǎn)小于這些語(yǔ)言內(nèi)部之間的競(jìng)爭(zhēng)。
Dart
上個(gè)季度,RedMonk 在發(fā)布編程語(yǔ)言榜單時(shí),曾分析了 Dart 正在逐漸上漲的原因:雖然其語(yǔ)法不如 Kotlin 簡(jiǎn)潔,但是隨著 Flutter 框架的成熟發(fā)展,Dart 的未來可期。
如今經(jīng)過了一個(gè)季度的時(shí)間,Dart 正如期待的那番,取代了 Perl 的位置成功進(jìn)入榜單的 TOP 20。在實(shí)現(xiàn)這一小成就之后,現(xiàn)在的問題就是 Dart 能否持續(xù)保持著 TOP 20 的排名了。當(dāng)前,排在其前面的 Kotlin 和 Rust 兩門語(yǔ)言的受歡迎度要略勝 Dart 一籌,因此,Dart 能否在挑戰(zhàn)中站穩(wěn)自己的腳步,還得看接下來的表現(xiàn)。
Julia
不久前,Julia 所在的公司 Julia Computing 剛剛完成了 2400 萬(wàn)美元的 A 輪融資,這筆資金將被用于發(fā)展 Julia 生態(tài)系統(tǒng),而 Julia 語(yǔ)言自設(shè)計(jì)之初也被寄予厚望,正如其開發(fā)團(tuán)隊(duì)所設(shè)想的那番,Julia 將集 Python、C、Ruby、R、Perl 等眾多語(yǔ)言之所長(zhǎng):
我們想要一種擁有自由許可的開源語(yǔ)言,同時(shí)擁有 C 的速度和 Ruby 的靈活。我們想要一種同像性語(yǔ)言,有像 Lisp 這樣真正的宏,也有像 Matlab 這樣的淺顯熟悉的數(shù)學(xué)符號(hào)。我們想要一門像 Python 一樣可用于通用編程,像 R 一樣易于統(tǒng)計(jì),像 Perl 一樣自然地用于字符串處理,像 Matlab 一樣強(qiáng)大的線性代數(shù),像 shell 一樣擅長(zhǎng)將程序粘合在一起的語(yǔ)言。它簡(jiǎn)單易學(xué),卻能讓嚴(yán)苛的黑客為之傾心。我們希望它是交互式的,具備可編譯性。
不過,通過調(diào)查數(shù)據(jù)顯示,Julia 在競(jìng)爭(zhēng)愈發(fā)激烈的技術(shù)圈中,排名有所下滑,一年前 Julia 徘徊于 TOP 20 的邊緣位置,位于第 24 位,但在本季度中它跌至第 28 位。值得注意的是,排名越低,語(yǔ)言之間的絕對(duì)差異變得越小,但是對(duì)于一種語(yǔ)言而言,這樣的負(fù)面表現(xiàn)并不令人鼓舞。
對(duì)此,RedMonk 深入分析 Julia 語(yǔ)言下滑的原因時(shí)發(fā)現(xiàn),在 Julia 發(fā)展過程中,由于其非常注重分析等功能的構(gòu)建,Julia 經(jīng)常被開發(fā)者列入與 Python、R 等常用統(tǒng)計(jì)分析工具的競(jìng)爭(zhēng)中,其中 Python、R 語(yǔ)言早已在各種實(shí)踐中證明了自己的受歡迎度與可持續(xù)性,此時(shí),新興 Julia 語(yǔ)言的加入就有些黯然失色了。在此,也希望獲得新一輪融資的 Julia 在未來會(huì)有亮眼的特性出現(xiàn)。
完整的榜單:
圖 RedMonk Q3 編程語(yǔ)言排行榜
到此這篇關(guān)于編程語(yǔ)言榜單Java與Python并列第二!Julia下滑的文章就介紹到這了,更多相關(guān)java與Python編程語(yǔ)言榜單排名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中的java.lang.reflect.Type簡(jiǎn)介
在 Java 中,java.lang.reflect.Type 是一個(gè)接口,代表所有類型的通用超類型,它包括原始類型、參數(shù)化類型、數(shù)組類型、類型變量和基本類型,本文給大家講解Java中的java.lang.reflect.Type是什么,需要的朋友可以參考下2024-06-06SpringBoot Redis批量存取數(shù)據(jù)的操作
這篇文章主要介紹了SpringBoot Redis批量存取數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08springMVC獲取請(qǐng)求參數(shù)的幾種方式匯總
在日常使用SpringMVC進(jìn)行開發(fā)的時(shí)候,有可能遇到前端各種類型的請(qǐng)求參數(shù),這里做一次相對(duì)全面的總結(jié),下面這篇文章主要給大家介紹了關(guān)于springMVC獲取請(qǐng)求參數(shù)的幾種方式,需要的朋友可以參考下2022-04-04mybatis中 if-test 數(shù)字判斷的坑及解決
這篇文章主要介紹了mybatis中 if-test 數(shù)字判斷的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06利用Spring插件實(shí)現(xiàn)策略模式的案例詳解
Spring插件提供了一種更實(shí)用的插件開發(fā)方法,它提供了插件實(shí)現(xiàn)擴(kuò)展核心系統(tǒng)功能的核心靈活性,但當(dāng)然不提供核心OSGi功能,如動(dòng)態(tài)類加載或運(yùn)行時(shí)安裝和部署插件,本文就來聊下如何使用spring插件來實(shí)現(xiàn)策略模式,需要的朋友可以參考下2023-05-05Java內(nèi)存模型之happens-before概念詳解
happens-before原則非常重要,它是判斷數(shù)據(jù)是否存在競(jìng)爭(zhēng)、線程是否安全的主要依據(jù),依靠這個(gè)原則,我們解決在并發(fā)環(huán)境下兩操作之間是否可能存在沖突的所有問題。下面我們就一個(gè)簡(jiǎn)單的例子稍微了解下happens-before知識(shí),感興趣的朋友一起看看吧2021-06-06Java并發(fā)編程深入理解之Synchronized的使用及底層原理詳解 上
在并發(fā)編程中存在線程安全問題,主要原因有:1.存在共享數(shù)據(jù) 2.多線程共同操作共享數(shù)據(jù)。關(guān)鍵字synchronized可以保證在同一時(shí)刻,只有一個(gè)線程可以執(zhí)行某個(gè)方法或某個(gè)代碼塊,同時(shí)synchronized可以保證一個(gè)線程的變化可見(可見性),即可以代替volatile2021-09-09