Python在TIOBE排行榜排名連續(xù)攀升,它的優(yōu)勢掩蓋了一個嚴(yán)肅的問題:其他的腳本語言去哪兒了?據(jù)2017年11月的TIOBE指數(shù)顯示,其他語言(如Perl,PHP和Ruby)排名正在緩慢下滑。
不久之前,腳本語言風(fēng)靡一時。動態(tài)類型語言不僅易于編寫,并且易于運(yùn)行,像Perl、Python、PHP和Ruby這樣的語言在網(wǎng)站上非常流行。但是,仔細(xì)看看2017年11月的TIOBE指數(shù),又能看出另一個不同的故事。
今天看,Python在腳本語言中是最有競爭力的,且排名一直在上升。最近GitHub授予它第二大流行編程語言的稱號,Stack Overflow則稱它是成長最快的主要編程語言,它甚至被認(rèn)為是機(jī)器學(xué)習(xí)最流行的語言。
另一方面,其他的許多腳本語言正在慢慢地走出排名前20名。這是為什么呢?
TIOBE的解釋是:
腳本語言中的大多數(shù)錯誤都是在運(yùn)行時發(fā)生的。盡管可以編寫所有類型的單元測試來彌補(bǔ)這一點(diǎn),但這仍然很危險。由于質(zhì)量要求越來越高,現(xiàn)在幾乎沒有人敢用腳本語言來編寫重要的大型軟件系統(tǒng)。
他們指出,在這種的環(huán)境下,甚至JavaScript也被迫演變成一種更安全的形式。畢竟,TypeScript、Angular和React等框架的開發(fā),都是為了保護(hù)語言和增加額外的功能。
另外,從減少類型冗長開始,靜態(tài)類型語言公然復(fù)制了動態(tài)類型語言的最佳特性。“這一切都是從C#中的”var“關(guān)鍵字開始的,隨后是Java中的類型推斷和C ++中的自動指定符。”模仿是表達(dá)仰慕的一種形式。
快速比較
看一下2017年11月份的PYPL指數(shù),情況有所不同。雖然Python這個排行榜中也占據(jù)了第二名的位置,但PHP則位列第三。而像Ruby和Perl這樣的靜態(tài)類型的語言,卻正在慢慢消失。
我們可以把這個差異放到每個排行榜的不同參數(shù)上。畢竟,各個排行榜的度量標(biāo)準(zhǔn)不同。
從PYPL的數(shù)據(jù)來看,清楚地展示了近十年的趨勢:
對Python的興趣不斷上升;而PHP、Ruby和Perl正在緩慢而穩(wěn)定地下降;Java是世界范圍內(nèi)最流行的語言;Python在過去5年中增長最多(10.9%),而PHP下降最多(-5.5%)。
然而,這對于腳本語言來說并不是一個噩夢。我們在編程語言要消亡時仍然不能達(dá)成一致,更不要說在消亡時間上達(dá)成一致了。