在編程語言的世界中,并非所有語言都能保持常青。實(shí)際上,隨著新生代開發(fā)者轉(zhuǎn)向新的編程語言和框架,很多編程語言的命運(yùn)也開始出現(xiàn)不確定性。在未來兩年內(nèi),整體采用情況又會(huì)出現(xiàn)哪些變化呢?
本文,Indrek Lasn 對未來兩年內(nèi)部分編程語言的可能趨勢進(jìn)行了預(yù)測,他同時(shí)表示:自己也有可能完全錯(cuò)了,如果真是這樣,請不要引用本文的內(nèi)容。但他認(rèn)為,這些都是將會(huì)發(fā)生的事情。誠然,人并不能預(yù)測未來,但能做出有根據(jù)的猜測。
“預(yù)測未來最好的方法就是去創(chuàng)造未來?!报D Abraham Lincoln(第十六任美國總統(tǒng))
Rust 是一種多范式系統(tǒng)編程語言,專注于安全性,尤其是安全并發(fā)性。Rust 在語法上與 C++ 類似,但它的設(shè)計(jì)目的是在保持高性能的同時(shí),提供更好的內(nèi)存安全性。
我們已經(jīng)見證了過去四年來,Rust 編程語言的強(qiáng)勁增長。我相信到 2020 年,Rust 將會(huì)正式成為主流編程語言。雖然什么是主流有待自我詮釋,但我相信,學(xué)校將會(huì)開始在課程中引入 Rust。此舉將造就一批新的 Rust 工程師。
2019 年 StackOverflow 調(diào)查中最受歡迎的編程語言。
Rust 已經(jīng)證明,它是一種偉大的編程語言,充滿了活力。除此之外,Rust 還有一個(gè)活躍的社區(qū)。隨著 Facebook 使用 Rust 開發(fā)了 Libra 項(xiàng)目,這成了 Rust 有史以來最大的項(xiàng)目,我們即將看到 Rust 真正取得成就。
如果你想學(xué)習(xí)一門新的編程語言,我強(qiáng)烈建議你學(xué)習(xí) Rust。如果你想了解更多的信息,我會(huì)推薦這本書The Rust Programming Language (Covers Rust 2018) 方便你開始學(xué)習(xí) Rust。進(jìn)擊吧,Rust!
GraphQL 的 Google 趨勢。
隨著我們的應(yīng)用程序變得越來越復(fù)雜,數(shù)據(jù)消費(fèi)需求也在日益增長。我是 GraphQL 的超級(jí)粉絲,我已經(jīng)用過很多次了。我認(rèn)為,與傳統(tǒng)的 REST API 相比,GraphQL 是一個(gè)更好的獲取數(shù)據(jù)的解決方案。
雖然典型的 REST API 需要從多個(gè) URL 加載,但 GraphQL API 可以只需一個(gè)請求即可獲得應(yīng)用程序所需的所有數(shù)據(jù)。
在許多不同的環(huán)境和語言中,各種規(guī)模的團(tuán)隊(duì)都使用 GraphQL 來支持移動(dòng)應(yīng)用程序、網(wǎng)站和 API。
GraphQL 的使用者
漸進(jìn)式 Web 應(yīng)用(Progressive Web Apps,PWA)是一種通過結(jié)合 Web 的最佳特性與移動(dòng)應(yīng)用的頂級(jí)品質(zhì)相結(jié)合來構(gòu)建應(yīng)用的新方法。
比起特定于平臺(tái)的本地開發(fā)人員,現(xiàn)在更多的是 Web 開發(fā)人員。一旦大公司意識(shí)到他們可以重新利用 Web 開發(fā)者來開發(fā)先進(jìn)的 Web 應(yīng)用,我懷疑這樣一來,將會(huì)看到一波巨大的 PWA 浪潮。
不過,大公司需要一段時(shí)間才能適應(yīng),這對技術(shù)來說是很正常的。漸進(jìn)式部分通常傾向于前端開發(fā),因?yàn)橹饕桥c Web Workers API(本地瀏覽器 API)進(jìn)行交互。
Web 應(yīng)用則不會(huì)有任何進(jìn)展。越來越多的人開始認(rèn)識(shí)到,編寫一個(gè)單一的交叉兼容的 PWA 可以減少開發(fā)的工作量,并節(jié)省大量的時(shí)間,賺到更多的金錢。
PWA 的 Google 趨勢。
WebAssembly
WebAssembly(縮寫 Wasm)是基于堆棧的虛擬機(jī)的二進(jìn)制指令格式。Wasm 被設(shè)計(jì)為用于編譯 C、C++ 和 Rust 等高級(jí)語言的可移植目標(biāo)。Wasm 還支持在 Web 上部署客戶端和服務(wù)器應(yīng)用程序。PWA 也可以使用 Wasm。
換句話說,WebAssembly 是一種將 JavaScript 技術(shù)與更高級(jí)的技術(shù)相結(jié)合的方法。如果你要在 React 應(yīng)用中使用 Rust 圖像處理庫,WebAssembly 允許你可以這樣做。
性能是關(guān)鍵,隨著數(shù)據(jù)量的增長,保持良好的性能將會(huì)變得更加困難。而這就是 C++ 或 Rust 的低級(jí)庫開始發(fā)揮作用的時(shí)候。我們將會(huì)看到更大的公司采用 WebAssembly 和 snowball。
JavaScript 前端庫
React 是迄今為止最流行的前端開發(fā) JavaScript 庫,這也是有原因的。構(gòu)建 React 應(yīng)用很有趣,也很簡單。就構(gòu)建應(yīng)用的經(jīng)驗(yàn)而言,React 團(tuán)隊(duì)和社區(qū)都做得非常出色。
我曾使用過 Vue、Angular 和 React,我認(rèn)為它們都是非常出色的框架。請記住,庫的目標(biāo)是完成工作,所以要少關(guān)注編程風(fēng)格,多關(guān)注如何把工作做好。爭論什么框架是“最好的”一點(diǎn)意義都沒有。一旦選定一個(gè)框架之后,就將你所有的精力都用在構(gòu)建任務(wù)上。
如果你有了靈感,請看一下這篇博文: The Secret to Being a Top Developer Is Building Things! Here’s a List of Fun Apps to Build! ,從文中挑選一些項(xiàng)目,就開始構(gòu)建吧!
我們可以自信地說,2010 年是 JavaScript 的十年。我們已經(jīng)目睹了 JavaScript 的大幅增長,而且到現(xiàn)在,發(fā)展勢頭似乎并沒有放緩。
JavaScript 開發(fā)人員被稱為“不是真正的開發(fā)人員”,從而受到了一些不公待遇。實(shí)際上,JavaScript 是任何大型科技公司的核心,如 Netflix、Facebook、Google 等等。因此,JavaScript 作為一種編程語言,與任何其他編程語言一樣合法。要以身為 JavaScript 開發(fā)者為榮。畢竟,一些最炫酷、最具創(chuàng)新性的東西是由 JavaScript 社區(qū)創(chuàng)建的。
幾乎所有的網(wǎng)站都在某種程度上利用了 JavaScript?,F(xiàn)在有多少個(gè)網(wǎng)站?答案是:高達(dá)幾百萬!
因此,現(xiàn)在對 JavaScript 開發(fā)者來說,這是前所未有的最好時(shí)機(jī)。薪水在上漲,社區(qū)也一如既往充滿了活力,而且就業(yè)市場巨大。如果你對學(xué)習(xí) JavaScript 很感興趣,那么你可以閱讀 You Don’t Know JS 系列叢書,這是非常棒的讀物。
隨著時(shí)間的推移,頂級(jí)語言的變遷
我之前寫過一篇關(guān)于 JavaScript 為何如此受歡迎的文章,你可能也應(yīng)該讀一讀這篇文章: What Makes JavaScript Popular?
頂級(jí)開源項(xiàng)目
作者介紹:
Indrek Lasn, Newly 聯(lián)合創(chuàng)始人,信奉“簡單很重要”的哲學(xué)理念。是 Cleversonder 和 Newly 的編輯,同時(shí)也是創(chuàng)意、技術(shù)、生產(chǎn)力和創(chuàng)業(yè)方面的資深作家。Twitter 賬戶是 @lasnindrek 。
原文鏈接:
本文 2020 and Beyond Programming Trend Predictions 最初發(fā)布于 Medium 博客,經(jīng)原作者 Indrek Lasn 授權(quán)由 InfoQ 中文站翻譯并分享。
聯(lián)系客服