Python 和 JavaScript 是當(dāng)今最熱門的兩種編程語言瑟捣。但是割疾,它們不可能永遠(yuǎn)位居榜首嚎卫。最終,它們一定會(huì)失寵宏榕,就像所有的編程語言一樣拓诸。這很可能在未來十年內(nèi)就會(huì)發(fā)生。
哪些編程語言有望取代它們呢麻昼?下面就是我列出的挑戰(zhàn)者名單奠支。
? Dart??
由于 Flutter 框架和 Google 的認(rèn)可,這門語言迅速流行起來抚芦。它與使 Ruby 如此流行的驅(qū)動(dòng)力相似:Rails 框架胚宦。
如果 Google 的新操作系統(tǒng) Fuchsia 取得成功的話,Dart 將會(huì)成為其中心。
主要優(yōu)勢(shì):它是一種比 JavaScript 更優(yōu)秀的編程語言枢劝。
主要缺點(diǎn):它面對(duì)來自 JavaScript 及其迷惑的群體的對(duì)抗井联。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
Elixir 是 Erlang 的派生語言,具有改進(jìn)的語法您旁,以及與 Erlang 相同的烙常、驚人的并發(fā)性支持。作為一種純函數(shù)式語言鹤盒,它很有可能將這一范式提升為主流蚕脏。
主要優(yōu)點(diǎn):它使函數(shù)式編程變得異常簡(jiǎn)單。它非常適合并發(fā)性侦锯。
主要缺點(diǎn):需要了解潛在的一次性可編程基礎(chǔ)知識(shí)驼鞭,這可能是一項(xiàng)艱巨的任務(wù)。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
另一種 Google 支持的語言 Golang尺碰,得益于其閃電般的編譯速度挣棕、簡(jiǎn)單高效的并發(fā)性以及非凡的簡(jiǎn)單性,它被證明是贏家亲桥。唯一缺少的就是泛型洛心,不過,這個(gè)特性已經(jīng)在路線圖上了题篷。
主要優(yōu)點(diǎn):超級(jí)簡(jiǎn)單词身,對(duì)并發(fā)性支持非常好。
主要缺點(diǎn):它(目前)缺少泛型番枚。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
Julia 的優(yōu)勢(shì)在于它對(duì)數(shù)學(xué)計(jì)算的出色支持法严。數(shù)學(xué)友好的語法對(duì)數(shù)學(xué)家來說非常有用。如果有哪種語言可以推翻 Python葫笼,那么 Julia 肯定是一個(gè)競(jìng)爭(zhēng)者渐夸。
主要優(yōu)點(diǎn):這門語言是為科學(xué)家精心設(shè)計(jì)的。
主要缺點(diǎn):這門語言面臨數(shù)據(jù)科學(xué)之王 Python 的挑戰(zhàn)渔欢。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
Kotlin 是更好的 Java墓塌。事實(shí)上,它實(shí)際上就是 Java 的一個(gè)可以立即使用的替代品奥额。Google 已經(jīng)將其打造成 Android 開發(fā)的一流語言苫幢。
主要優(yōu)點(diǎn):它是一種升級(jí)版的 Java。
主要缺點(diǎn):它是一種非常龐大的語言垫挨,即使與 Java 相比也是如此韩肝。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
主要優(yōu)點(diǎn):Lua 是一種小巧、簡(jiǎn)單九榔、快速哀峻、可嵌入涡相、可移植的靈活的語言。
主要缺點(diǎn):它已經(jīng)被人們忽視了 26 年剩蟀,現(xiàn)在會(huì)有什么改變呢催蝗?
曼德勃羅分形圖(Mandelbrot set)示例代碼:
Pharo 是 Smalltalk 的現(xiàn)代變體,Smalltalk 是一種非常高效的面向?qū)ο缶幊陶Z言育特。實(shí)際上丙号,Smalltalk 是面向?qū)ο缶幊痰牡浞叮鼛缀鯁l(fā)了地球上所有其他面向?qū)ο缶幊陶Z言的靈感缰冤。最后犬缨,沒有一種語言比 Smalltalk 更適合面向?qū)ο缶幊塘恕?/p>
Pharo 還是世界上最簡(jiǎn)單、最優(yōu)雅的語言之一棉浸。你可以在 15 分鐘內(nèi)學(xué)會(huì) Smalltalk 的全部語法怀薛!
主要優(yōu)點(diǎn):它的工作效率非常高效,就像工作效率提高了 5 倍一樣迷郑!
主要缺點(diǎn):掌握這種語言枝恋,需要一種不同的編程思維。但人們往往害怕改變三热。
分形樹示例代碼:
Rust 因其內(nèi)存安全特性:借位檢查器而得到了廣泛的認(rèn)可。這個(gè)特性實(shí)際上消除了所有與內(nèi)存相關(guān)的編程錯(cuò)誤三幻。Rust 保證了編程的安全性就漾。
主要優(yōu)點(diǎn):它有助于使軟件更可靠。
主要缺點(diǎn):這門語言很難學(xué)習(xí)念搬,而且借位檢查器可能也很難理解抑堡。
曼德勃羅分形圖(Mandelbrot set)示例代碼:
TypeScript 是 JavaScript……帶來了好處。它主要是添加了靜態(tài)類型朗徊。與 JavaScript 的兼容性使它成為前端 Web 開發(fā)人員的最愛首妖,因?yàn)樗麄円呀?jīng)了解 JavaScript,而且?guī)缀醪恍枰淖兯麄兊墓ぷ髁鞒獭?/p>
主要優(yōu)點(diǎn):它就是 JavaScript爷恳,因此對(duì) JavaScript 開發(fā)人員來說沒有什么太大的變化有缆。
主要缺點(diǎn):它仍然是 JavaScript,所以仍然繼承了 JavaScript 的所有包袱温亲。
分形樹示例代碼: