未來有望幹掉 Python和JavaScript 的程式語言

2020-12-03 騰訊網

作者丨Richard Kenneth Eng

譯者丨劉志勇

策劃丨Tina

Python 和 JavaScript 是兩門非常有影響力的程式語言,二者都是我們在打造跨平臺應用時會用到的主流語言。由於 Python 和 JavaScript 都是腳本語言,因此它們有很多共同的特性,都需要解釋器來運行,都是動態類型,都支持自動內存管理,都可以調用 eval()來執行腳本等等腳本語言所共有的特性。在過去這些年來,Python 和 JavaScript 佔據著主導型地位,但有句話說得好,長江後浪推前浪,青出於藍勝於藍。如果將來有一天,Python 和 JavaScript 被打敗趕下榜單,那這個挑戰者會是誰呢?退休的軟體工程師 Richard Kenneth Eng 為我們分享了他的看法,羅列了那些他認為有望打敗 Python 和 JavaScript 的程式語言。

Python 和 JavaScript 是當今最熱門的兩種程式語言。但是,它們不可能永遠位居榜首。最終,它們一定會失寵,就像所有的程式語言一樣。這很可能在未來十年內就會發生。

哪些程式語言有望取代它們呢?下面就是我列出的挑戰者名單。

Dart

由於 Flutter 框架和 Google 的認可,這門語言迅速流行起來。它與使 Ruby 如此流行的驅動力相似:Rails 框架。

如果 Google 的新作業系統 Fuchsia 取得成功的話,Dart 將會成為其中心。

主要優勢:它是一種比 JavaScript 更優秀的程式語言。

主要缺點:它面對來自 JavaScript 及其迷惑的群體的對抗。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Elixir

Elixir 是 Erlang 的派生語言,具有改進的語法,以及與 Erlang 相同的、驚人的並發性支持。作為一種純函數式語言,它很有可能將這一範式提升為主流。

主要優點:它使函數式編程變得異常簡單。它非常適合併發性。

主要缺點:需要了解潛在的一次性可編程基礎知識,這可能是一項艱巨的任務。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Golang

另一種 Google 支持的語言 Golang,得益於其閃電般的編譯速度、簡單高效的並發性以及非凡的簡單性,它被證明是贏家。唯一缺少的就是泛型,不過,這個特性已經在路線圖上了。

主要優點:超級簡單,對並發性支持非常好。

主要缺點:它(目前)缺少泛型。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Julia

Julia 的優勢在於它對數學計算的出色支持。數學友好的語法對數學家來說非常有用。如果有哪種語言可以推翻 Python,那麼 Julia 肯定是一個競爭者。

主要優點:這門語言是為科學家精心設計的。

主要缺點:這門語言面臨數據科學之王 Python 的挑戰。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Kotlin

Kotlin 是更好的 Java。事實上,它實際上就是 Java 的一個可以立即使用的替代品。Google 已經將其打造成 Android 開發的一流語言。

主要優點:它是一種升級版的 Java。

主要缺點:它是一種非常龐大的語言,即使與 Java 相比也是如此。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Lua

主要優點:Lua 是一種小巧、簡單、快速、可嵌入、可移植的靈活的語言。

主要缺點:它已經被人們忽視了 26 年,現在會有什麼改變呢?

曼德勃羅分形圖(Mandelbrot set)示例代碼:

Pharo

Pharo 是 Smalltalk 的現代變體,Smalltalk 是一種非常高效的面向對象程式語言。實際上,Smalltalk 是面向對象編程的典範,它幾乎啟發了地球上所有其他面向對象程式語言的靈感。最後,沒有一種語言比 Smalltalk 更適合面向對象編程了。

Pharo 還是世界上最簡單、最優雅的語言之一。你可以在 15 分鐘內學會 Smalltalk 的全部語法!

主要優點:它的工作效率非常高效,就像工作效率提高了 5 倍一樣!

主要缺點:掌握這種語言,需要一種不同的編程思維。但人們往往害怕改變。

分形樹示例代碼:

Rust

Rust 因其內存安全特性:借位檢查器而得到了廣泛的認可。這個特性實際上消除了所有與內存相關的編程錯誤。Rust 保證了編程的安全性。

主要優點:它有助於使軟體更可靠。

主要缺點:這門語言很難學習,而且借位檢查器可能也很難理解。

曼德勃羅分形圖(Mandelbrot set)示例代碼:

TypeScript

TypeScript 是 JavaScript……帶來了好處。它主要是添加了靜態類型。與 JavaScript 的兼容性使它成為前端 Web 開發人員的最愛,因為他們已經了解 JavaScript,而且幾乎不需要改變他們的工作流程。

主要優點:它就是 JavaScript,因此對 JavaScript 開發人員來說沒有什麼太大的變化。

主要缺點:它仍然是 JavaScript,所以仍然繼承了 JavaScript 的所有包袱。

分形樹示例代碼:

WebAssembly

WebAssembly 是一匹黑馬。在未來十年左右的時間裡,它可能會衍生出一系列的語言,這些語言有望最終登上榜首。WebAssembly 只是一個編譯目標,但沒有理由說它不能擴展到 Web 領域以外的地方。至於哪些基於 WebAssembly 的語言可以登上榜首?現在誰也說不準。

作者介紹

Richard Kenneth Eng,博主。Smalltalk 布道師。退休的軟體工程師。《復仇者聯盟》粉絲。本文最初發表 Hacker Noon 博客,經原作者 Richard Kenneth Eng 授權,InfoQ 中文站翻譯並分享。

https://hackernoon.com/programming-languages-of-the-future-b61332kd

活動推薦

開發者對於容器技術的關注熱度越來越高,各家公司也紛紛在容器實踐上下功夫。InfoQ 與華為雲原生團隊共建【容器魔方】技術社群,連接開發者與技術專家,解決容器技術的「疑難雜症」!

點個在看少個 bug

相關焦點

  • 自學編程如何選擇程式語言?
    而我們的程式語言,基本上也是這樣,豐富多樣,各有特色,側重點也各不相同。如果說非要選一份萬能語言,那麼肯定是二進位代碼以及作為二進位代碼助記符的彙編了,但如果你選彙編去作為初學者入門課程,那估計你堅持不下來兩天。而在如此多的程式語言中,我們應該選擇什麼樣的語言作為入門呢?新手通常會很煩惱,而患上選擇困難症。
  • Java、C語言、Python、PHP、JavaScript五大程式語言,要學哪個?
    Java 與 javascript 並不相同,後者是一種用於創建 Web 頁的簡單技術,只能在瀏覽器中運行。Java作為世界上最受歡迎的程式語言,自誕生之日起,長期霸佔程式語言排行榜首位,因其易學、安全、可移植、跨平臺等特點,深受網際網路企業及傳統企業青睞。
  • 編程入門學什麼語言好?
    首先應該明確學習程式語言的目的-工作或興趣,這兩者差別比較大!如果是考慮就業問題,那麼根據2019年末的一個流行度調查,關於程式語言的排名,目前前三的分別是:Java(難)C(很難)Python(較難)還有C++、PHP、JavaScript等。
  • 2018年可靠的IT程式語言排名,C排第二,熱門python位置顯尷尬!
    2018年比較可靠的IT程式語言排名榜單中C排第二,熱門語言python位置稍顯尷尬,排在第四位。PHP曾經被認為世界最好的程式語言,更顯得有點落寞,排名第八。計算機語言都是有其局限性的。到目前為止,還沒有哪一種程式語言可以高效的運用在各個領域。
  • python語言基礎-6:程式語言是萬能的麼?
    正在學習編程的朋友,會不會有這樣的疑惑:程式語言,是萬能的麼?由於計算機不是萬能的,所以在計算機上運行的程式語言肯定也不是萬能的。但正如上一節課程中講道:編程的本質就是對普適的計算機進行功能特定化,而編程的具體工作則是控制輸入、輸出和計算過程。我們把標題的這個問題更加準確地表述一下:通過編程,是否能夠發揮出普適計算機的全部潛力?
  • 一張主流程式語言的變遷圖,講清程式設計師遷移模式
    計算類 / 科技類編程,如 Fortran,MATLAB 和 R。 腳本 / 膠水編程,如 shell 和 perl。 (我們也會談到「資料庫查詢語言」,比如 SQL。它是一枝獨秀,所有替代它的嘗試都以失敗告終。資料庫語言從上世紀六十年代開始就停滯不前了。
  • TIOBE程式語言大排行榜,Python 勢不可擋,java仍然可期
    >java,python,c++,c#,Visual Basic, javascript ,R、PHP,SQL。下面來看幾張圖了解下不同程式語言的具體情況2020年8月程式語言排行榜top10的柱狀圖:
  • 2021年程式語言趨勢預測:Python和JavaScript仍火熱,Go不可小覷
    編譯 | 陳大鑫Tensorflow和Pytorch到底該用哪個呢?「import tensorflow as pytorch!」程式語言及框架似乎總是被人拿來比較,這裡我們只談語言。作為開發人員,在當今這個技術更迭飛快的時代要連年吃香並非易事,很多十年開發經驗以上的開發人員不知道經歷了多少語言的變化,今年還在用C語言,下一年就是D了。「PHP是世界上最好的程式語言」已被人忘卻,但「青春飯」和35歲「金龍躍魚門」的傳說確真實發生。
  • 2021年程式語言趨勢預測:Python和JavaScript仍火熱,Go不可小覷
    「PHP是世界上最好的程式語言」已被人忘卻,但「青春飯」和35歲「金龍躍魚門」的傳說確真實發生。在預測這樣一個動態變化的行業未來時,首先要對程式語言進行回顧:C/C++和Java已經變成「古老」的語言,並且在業界仍佔有一席之地。儘管在很多系統開發中C和Java不可或缺,比如對於高性能、實時性要求高的系統,C(C++)很重要,比如對於大型網站,Java很重要。
  • python與其他程式語言區別全在這
    對於接觸過程式語言的人來說,如果要快速上手python,首先要了解python和其他程式語言的主要區別在哪?下邊勇哥主要以使用較多的JAVA和C語言來做對比。喜歡的話,希望大家關注我們,我們會持續推出高質量的文章和視頻來回饋大家。
  • 趕超Python 與 Java,JavaScript 問鼎最受歡迎的程式語言
    現實世界中,作為程式設計師,選擇哪一門程式語言並不會如生死攸關那般重要。畢竟大多數常見的程式語言的基本概念都大同小異,且對於編程新手來說,大多數程式語言看起來都差不多,它們可以讓你獲得近乎相同的結果。但從開發人員的角度來看,程式語言不僅是一種工具,而且選擇正確的程式語言將會影響一個人的職業生涯、錢途以及未來生活的幸福指數。
  • 最受企業青睞的五種程式語言,JavaScript排名第一
    計算機程式語言每年熱度都不一樣,可能又有新程式語言出現,即使這樣,開發人員掌握傳統的程式語言也是非常重要的,據編程競賽網站調查發現,企業需求度最高的語言包括有:JavaScript、Java、Python、C ++ 和 C 這五個,其中JavaScript是最受歡迎的程式語言。
  • javascript語言在面向對象編程過程中,類是個古怪的概念
    javascript語言在面向對象編程過程中,類是個古怪的概念。javascript語言是一種腳本語言,也是一種面向對象的程式語言;但是,由於其創造的初衷是服務於前端需求,目的在於簡單靈活便捷的實現功能。所以,javascript語言在面向對象方面與傳統的面向對象語言還是有比較大的差異的。
  • 2017 年度程式語言榜,Java 最流行、JavaScript 最沒價值?
    以下為譯文:世界因科技而驅動,各行各業因技術而得到了根本性的改變,而這些技術的核心正是程式語言。本文我們總結了 2017 年最流行和最具影響力的程式語言,對於開發者來說是一個提升技能的機會,在未來的十年都將是非常寶貴的指導。
  • Python程式語言在網站開發中的妙用
    Python程式語言在網站開發中的妙用 Python程式語言在我們長期的使用中有很大的應用範圍。尤其是在網頁編寫方面,下面我們就來看看相關的網頁編寫的相關問題。
  • 少兒編程:Python語言
    #《全國青少年軟體編程等級考試》系列已經介紹完了,我們知道青少年軟體編程等級考試考三門語言:Scratch、Python和C,從這篇起我開始給大家介紹Python。圖1認識Python我一直認為少兒編程最好的啟蒙語言是圖形化程式語言
  • 2020年8月程式語言排名,C語言與Java差距拉大,C語言保持第一
    2020年下半年已經過去一個多月,8月份 TIOBE編程社區的程式語言指數排行榜已出爐。我們一起來看看,8月份的程式語言又有什麼變化呢?1至10名的程式語言排名是C、Java、python、C++、c#、Visual Basic、javascript 、R、PHP、SQL,Swift由7月份排名第10下降至第12,SQL重回第10。
  • 程式語言Java 的機會和優勢、風險和劣勢、選擇建議和注意事項
    java 原來是套用咖啡的標識,(圖片來自網絡)1)名稱的來源JAVA 是一門面向對象的計算機程式語言其實這個提問不太合理,兩者無法直接做比較,web是指網頁,java是計算機語言,可以用於web開發能用於WEB開發的工具有很多,JAVA只是其中一種開發工具,其它工具例如php, C#,javascript,python 等都能做WEB開發
  • python語言入門需要多久?python編程該如何學習
    python語言入門需要多久時間?很多人認為python是一門很容易學的程式語言,其實事實也是如此,很適合入門。但更多還是因人而異,因方法而異,有的人可能一個星期就能學會python編程,而有的人需要幾個月,當然也可能會更多。
  • Python程式語言基礎入門教程
    Python程式語言是最近幾年發展趨勢較火的語言,也是針對新手友好的語言,入門簡單上手快。再加上AI人工智慧和數據分析的加持,讓Python成為關注度最高的程式語言,現在不會Python都不好意思說自己會編程。