自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

六種老而不死的編程語(yǔ)言!

開(kāi)發(fā) 后端
之前我們對(duì)《5 種將死的編程語(yǔ)言》和之前5種將死的編程語(yǔ)言相反,本文我們預(yù)測(cè)以下這幾種不死的編程語(yǔ)言預(yù)測(cè)與盤點(diǎn)。

現(xiàn)在的開(kāi)發(fā)人員都趨向于使用新的編程語(yǔ)言,那么舊的編程語(yǔ)言呢?它們的前途一般是這樣兩種:仍然可以使用,但逐漸不受大家歡迎;直接完全死去。

該盤點(diǎn)及分析由數(shù)位編程專家整理得出,包含了大量他們對(duì)于某些經(jīng)典編程語(yǔ)言以及新興編程語(yǔ)言的思考以及基于行業(yè)的分析。

Python

今年 Python 的最大新聞是,Python 之父吉多·范·羅蘇姆(Guido van Rossum)正式退休,并將 Python 交給了 Python 指導(dǎo)委員會(huì)。到目前為止,這次權(quán)力轉(zhuǎn)移并沒(méi)有出現(xiàn)“陣痛”,正如《Python Crash Course》的作者 Eric Matthes 所認(rèn)為的那樣,這是很正常的,因?yàn)椤?Guido 在很長(zhǎng)一段時(shí)間里仍將保持自己在社區(qū)中的角色?!?此外,2020 年還將終止對(duì) Python 2.7 的支持,這很可能導(dǎo)致堅(jiān)持使用 Python 2.7 的人變得很難受。

但不管怎樣,Python 仍然是數(shù)據(jù)科學(xué)的首選語(yǔ)言。

對(duì)于 Matthes 而言,Python 令人興奮的一個(gè)方面是“來(lái)自一個(gè)社區(qū)的各種有趣且關(guān)鍵的項(xiàng)目已經(jīng)誕生了,而社區(qū)已經(jīng)如此有意識(shí)地建立了這么長(zhǎng)時(shí)間?!?Python 指導(dǎo)委員會(huì)成員和 CPython 的核心開(kāi)發(fā)人員 Carol Willing 也慶祝了這些項(xiàng)目,例如 Binder 服務(wù),該服務(wù)通過(guò)在 Jupyter Notebook 中創(chuàng)建可執(zhí)行環(huán)境來(lái)促進(jìn)可重復(fù)的研究,尤其是當(dāng)它們超出其最初的目標(biāo)時(shí)。

她指出,“活頁(yè)夾去年在許多 Python 會(huì)議上被廣泛用于教學(xué)講習(xí)班和教程?!?Willing 還向 CircuitPython 和 Mu 項(xiàng)目大聲疾呼,問(wèn)道:“誰(shuí)會(huì)不喜歡硬件呢,閃爍的 LED、傳感器,以及使用 Mu 的用戶友好的編輯器,這對(duì)成年人和孩子來(lái)說(shuō)不都是很棒的選擇?”

Java

今年對(duì) Java 來(lái)說(shuō),主要都是好消息。本·埃文斯(Ben Evans)解釋說(shuō):“再一次,關(guān)于 Java 滅亡的傳言再一次成為了平臺(tái)批評(píng)者的一廂情愿。”

但這并不是一帆風(fēng)順的。正如我們?nèi)ツ曛赋龅哪菢?,Java 11 于 2018 年 9 月發(fā)布并帶來(lái)了許多新功能,包括許多在使用容器方面具有明顯優(yōu)勢(shì)的重要功能。但是,根據(jù) JetBrains 的調(diào)查,這次新版本的推出并沒(méi)有帶來(lái)廣泛的采用,超過(guò) 80% 的開(kāi)發(fā)人員仍在使用 Java 8。

Evans想知道:“這是否意味著人們沒(méi)有像我們所知道的那樣在容器中運(yùn)行Java?還是人們只是不知道在容器中使用 Java 11 的好處?”

盡管采用速度緩慢,但 Java 的六個(gè)月發(fā)布節(jié)奏一直在不斷發(fā)展-Java 12于2019年3月下降,Java 13于9月問(wèn)世。根據(jù) Trisha Gee 的說(shuō)法,它確實(shí)開(kāi)始顯示其價(jià)值:

每個(gè)版本很小,但是可以預(yù)見(jiàn)。盡管它們并不都具有令人興奮的新語(yǔ)言更改,但是您可以看到該語(yǔ)言正在穩(wěn)步向前發(fā)展。

此外,它支持預(yù)覽功能的這種想法,我認(rèn)為我們切換表達(dá)式的工作效果非常好 —— 開(kāi)發(fā)人員必須嘗試使用該功能并根據(jù)使用感覺(jué)來(lái)提供真實(shí)的反饋,而不是抽象的,概念性的反饋想法。在 Java 13 中,開(kāi)關(guān)表達(dá)式的語(yǔ)法進(jìn)行了少量更改,這是有可能的,因?yàn)樗穷A(yù)覽功能,并且沒(méi)有固定設(shè)置。

當(dāng) Oracle 將 Java SE 遷移到基于訂閱的模型時(shí),2019 年收獲了另一個(gè)驚喜。但是,正如《Learning Java》的合著者 Marc Loy 指出的那樣,“隨著 OpenJDK 的熱情增加,整個(gè) Java 社區(qū)正在面臨一種‘不幸’的變化?!?

至于剛剛到來(lái)的 2020 年,埃文斯(Evans)建議 2020 年可以持續(xù)關(guān)注 2019 年的發(fā)展趨勢(shì):

我們將如何接近 Valhalla 項(xiàng)目的生產(chǎn)版本?提供模式匹配和代數(shù)數(shù)據(jù)類型(Project Amber)的增量策略是否會(huì)奏效?Quarkus 會(huì)履行其承諾和早期粉絲的信念嗎?2020 年將成為 Kotlin 會(huì)在 Android 領(lǐng)域邁出跨躍性的重要一步嗎?

這是激動(dòng)人心的時(shí)刻,我們正在過(guò)渡到新的事物,并且正在發(fā)生很多事情。

JavaScript

JS的第一個(gè)時(shí)代(從1997年至2007年)堪稱虎頭蛇尾。大家都知道Brendan Eich的故事,但很少有人知道ES4是如何在諸如Flash / Actionscript之類的封閉生態(tài)系統(tǒng)的激烈競(jìng)爭(zhēng)中步履蹣跚的。有關(guān)JS完整起源的故事,Brendan Eich和Allen Wirfs-Brock寫的“《JavaScript:最初的20年》講得最好。

JS的第二個(gè)時(shí)代(從2009年至2019年)始于2009的奇跡之年,這年誕生了npm,Node.js和ES5。隨著Doug Crockford向我們展示了其出色的功能,用戶構(gòu)建了一套完整的JS 構(gòu)建工具和庫(kù),并將JS的應(yīng)用范圍擴(kuò)展到了臺(tái)式機(jī)和新型智能手機(jī)。到2019年,我們甚至在諸如Facebook的Hermes手機(jī)以及諸如Svelte 3的編譯器先行前端框架中看到JS專用運(yùn)行時(shí)。

這個(gè)語(yǔ)言,在10年內(nèi)還會(huì)成為web開(kāi)發(fā)最通用的語(yǔ)言。

Kotlin

谷歌在 2019 年 5 月宣布 Kotlin 現(xiàn)在是 Android 應(yīng)用開(kāi)發(fā)人員的首選語(yǔ)言,這表明了該語(yǔ)言已經(jīng)被廣泛采用。

盡管許多 Android 開(kāi)發(fā)人員尚未完全遷移到 Kotlin,但已經(jīng)遷移的人都知道它提供的好處?!禜ead First Kotlin》的作者 Dawn 和 David Griffiths 分享了 Kotlin崛起背后的一些原因:

對(duì)于由 IDE 公司創(chuàng)建的語(yǔ)言,Kotlin 擁有良好的工具支持水平也就不足為奇了。用于代碼合同的實(shí)驗(yàn)性 DSL 使開(kāi)發(fā)人員能夠提供有關(guān)代碼行為方式的保證。您的功能有副作用嗎?是否可以保證返回非空值?代碼合同允許您做出這些承諾,并且編譯器可以使用它們來(lái)放松編譯時(shí)檢查。

現(xiàn)在,不同的 Kotlin 平臺(tái)之間的障礙也正在被打破?!癳xpect”/”actual”限定符使開(kāi)發(fā)人員可以更輕松地編寫跨 Java / Native / JS 環(huán)境兼容的代碼。序列化支持意味著將 JSON 數(shù)據(jù)轉(zhuǎn)換為 Kotlin 對(duì)象更加容易,反之亦然。

希望看到 Kotlin 繼續(xù)保持驚人的增長(zhǎng) —— 并且不僅僅是在 Android 中。JetBrains 開(kāi)發(fā)人員倡導(dǎo)團(tuán)隊(duì)負(fù)責(zé)人 Hadi Hariri 指出 Kotlin / Everywhere 的成功,使得人們可以在 Android,Google Cloud Platform 和多平臺(tái)開(kāi)發(fā)中學(xué)習(xí) Kotlin 的基本知識(shí)和最佳實(shí)踐,并用數(shù)據(jù)舉例證明:

“從 5 月到 11 月,我們已經(jīng)成功地覆蓋了 86 個(gè)國(guó)家/地區(qū)的 30,000人。KotlinConf 在 2019 年連續(xù)三年銷售一空,有 1,700 多名與會(huì)者。這尤其表明,開(kāi)發(fā)者對(duì)該語(yǔ)言的興趣和采用正在增長(zhǎng)。”

Go

當(dāng) Gophers 回顧 2019 年時(shí),他們可能會(huì)記得嘗試提案的傳奇故事。Go 開(kāi)發(fā)人員兼作家 Jon Bodner 解釋說(shuō):

關(guān)于 Go 的最常見(jiàn)的抱怨之一是錯(cuò)誤處理太冗長(zhǎng)。因此,在 6 月初,Go 核心開(kāi)發(fā)人員建議添加一個(gè)名為 try 的新內(nèi)置函數(shù)。GitHub 的 issue 現(xiàn)在已打開(kāi),以討論此新功能。一個(gè)月之內(nèi),有將近 800 條評(píng)論,其中大多數(shù)是負(fù)面的。反對(duì)這項(xiàng)新功能的人們感到,這種改變使代碼過(guò)于“不可思議”,并掩蓋了邏輯流程。審查反饋后,Go 小組將提案標(biāo)記為已完成,并于 7 月 16 日關(guān)閉。

這個(gè)過(guò)程值得注意的不是功能的失敗,而是,正如 Bodner 所描述的那樣,“過(guò)程發(fā)生的方式:提出了一個(gè)功能,討論受到尊重,但許多人認(rèn)為更改與 Go 的風(fēng)格不一致。最后,管理語(yǔ)言的人決定尊重多數(shù)意見(jiàn)。這就是開(kāi)發(fā)人員談?wù)撋鐓^(qū)時(shí)的意思?!?

2020 年應(yīng)該使 Go 的 Contracts 規(guī)范更加清晰,這就是眾所周知的 Generics 提案。

根據(jù) Bodner 的說(shuō)法,“ Go 似乎將使用一種與其他語(yǔ)言略有不同的方法來(lái)實(shí)現(xiàn)泛型,但它很適合 Go 的習(xí)慣用法?!?希望它將使 Go 保持其慣用的風(fēng)格,同時(shí)添加開(kāi)發(fā)人員發(fā)現(xiàn)在其他語(yǔ)言中有用的功能。

Rust

我們與《Programming Rust》的合著者 Jim Blandy 進(jìn)行了溝通,以了解他對(duì) Rust 在 2019 年的進(jìn)步的看法如何變化。

去年,他指出,“ Rust 長(zhǎng)期以來(lái)一直以一種形式或另一種形式支持異步編程,但是異步函數(shù)為這種代碼提供了語(yǔ)法與 Rust 以前的產(chǎn)品相比,這是一個(gè)重大改進(jìn)?!?

他對(duì) Rust 語(yǔ)法進(jìn)行改進(jìn)的希望是否實(shí)現(xiàn)了?是的,最終:布蘭迪解釋說(shuō),異步/等待語(yǔ)法直到 2019 年 11 月 7 日發(fā)布的 1.39 版才變得穩(wěn)定。

“最初,我們希望異步/等待語(yǔ)法可以成為 Rust 2018 版的一部分,但它花了更長(zhǎng)的時(shí)間才把事情做好?!?不過(guò),他對(duì) 2020 年 Rust 對(duì) Rust 的意義寄予了很高的期望:“將異步集成到語(yǔ)言中可以使借閱檢查器了解您的操作,因此異步代碼看起來(lái)像慣用的 Rust。

Rust 社區(qū)也對(duì) WebAssembly 感到興奮,今年 WebAssembly 成為了 C / FFI 的理論替代品,用于需要便攜式,高性能模塊的生態(tài)系統(tǒng)。正如 Rust 專家 Nathan Stocks 指出的那樣:“您也可以使用輕型沙箱!” 令 Stocks 印象最深的是“有多少理論已經(jīng)成功原型化并得到了證明?!?

以前,我曾把WebAssembly純粹視為一個(gè)編譯目標(biāo),以便在瀏覽器中運(yùn)行非JS語(yǔ)言的代碼。能夠從瀏覽器之外的任何語(yǔ)言使用Web程序集的功能令人不寒而栗。

Swift

去年 Swift 發(fā)生的最大的故事是蘋果公司用于在所有蘋果設(shè)備上設(shè)計(jì)用戶界面的最新框架 SwiftUI 的發(fā)布,以及 TensorFlow 的 Swift 版本。

正如 Timirah James 解釋的那樣,SwiftUI 的聲明性已經(jīng)贏得了開(kāi)發(fā)人員的廣泛關(guān)注,并且已經(jīng)被視為 UIKit 的未來(lái)繼任者。

至于 TensorFlow 的 Swift,Buttfield-Addison 稱之為“ Swift 的根本新用途”。他解釋說(shuō):“ Swift 一直是一種出色的應(yīng)用程序開(kāi)發(fā)和系統(tǒng)編程語(yǔ)言,并且是一種新興的 Web 和后端開(kāi)發(fā)語(yǔ)言,但是現(xiàn)在,借助 Swift for TensorFlow,它也是一個(gè)強(qiáng)大的 ML 框架?!?原因如下:

Swift for TensorFlow 由一個(gè)團(tuán)隊(duì)開(kāi)發(fā),該團(tuán)隊(duì)包括 Swift 的原始創(chuàng)建者 Chris Lattner,并提供(或?qū)⒃谕瓿珊筇峁C(jī)器學(xué)習(xí)和數(shù)值計(jì)算所需的一切。最令人驚訝的是,Swift 的基礎(chǔ)編譯器框架和設(shè)計(jì)使對(duì)具有可自動(dòng)區(qū)分功能的可區(qū)分編程的完全一流支持成為可能。

完整的語(yǔ)言可區(qū)分編程將使以前不可能的事情成為可能:最好的例子是在構(gòu)建神經(jīng)網(wǎng)絡(luò)時(shí)能夠使用標(biāo)準(zhǔn)編程調(diào)試器逐步進(jìn)行反向傳播并調(diào)試派生類。

Swift for TensorFlow 還為 Swift 提供了完整的 Python 支持,使數(shù)據(jù)科學(xué)家可以使用清晰的 Swift 代碼將所需的有用和熟悉的 Python 框架進(jìn)行混合和匹配。

展望未來(lái),James 和 Buttfield-Addison 都很高興看到 Swift 所采取的新方向,James 指出“ Swift 在移動(dòng)社區(qū)以外的不同社區(qū)和堆棧中迅速采用,特別是在無(wú)服務(wù)器領(lǐng)域,” Buttfield-Addison 呼吁“令人驚嘆的網(wǎng)絡(luò)開(kāi)發(fā)框架(如 Kitura)以及各種針對(duì)特殊領(lǐng)域的令人驚嘆的框架……例如 SwiftPlot,它是 Python 中無(wú)處不在的 Matplotlib 的 Swift 本機(jī)版本?!?

未來(lái)是什么樣的?

變化是不可避免的,并且隨著編程語(yǔ)言繼續(xù)傾向于針對(duì)云,微服務(wù),大數(shù)據(jù)跨平臺(tái)和機(jī)器學(xué)習(xí)中的新趨勢(shì)進(jìn)行優(yōu)化,每種語(yǔ)言及其生態(tài)系統(tǒng)將繼續(xù)以自己獨(dú)特的方式進(jìn)行適應(yīng)。

某些語(yǔ)言可能會(huì)在 2020 年發(fā)布大版本,比如 C ++ 20 將于今年夏天發(fā)布,Scala 3.0 有望在 2020 年末發(fā)布。但很明顯,即使是最小的更改也可能在程序員的日常生活中引起巨大的波瀾。

在過(guò)去很長(zhǎng)的一段時(shí)間內(nèi),Java vs Kotlin、 Python Vs Go、 Swift vs OC、 RustVs Php  相關(guān)比較的內(nèi)容層出不窮。但是,到目前為止,Java、Python、 C、JavaScript 依然是編程語(yǔ)言界的常青樹(shù)。甚至10年內(nèi)還是如此。

責(zé)任編輯:龐桂玉 來(lái)源: Java架構(gòu)編程
相關(guān)推薦

2023-12-06 18:21:12

編程語(yǔ)言AI開(kāi)發(fā)AI

2023-04-06 07:02:18

小眾編程語(yǔ)言

2017-03-10 17:00:28

編程語(yǔ)言

2017-10-20 11:07:45

編程代碼編程模式

2019-05-16 13:00:18

異步編程JavaScript回調(diào)函數(shù)

2020-06-24 08:26:10

編程語(yǔ)言Perl技術(shù)

2019-01-17 10:58:52

JS異步編程前端

2023-11-06 08:15:42

遍歷列表Python

2025-02-27 00:00:30

SpringJava方式

2011-06-07 09:36:18

2016-01-15 17:36:29

云計(jì)算云應(yīng)用

2012-10-15 13:26:31

云計(jì)算架構(gòu)

2009-02-11 09:46:00

ASON網(wǎng)絡(luò)演進(jìn)

2017-06-26 10:35:58

前端JavaScript繼承方式

2024-01-05 13:25:00

架構(gòu)架構(gòu)模式開(kāi)發(fā)

2010-10-08 11:13:22

MySQL修改密碼

2022-10-25 12:09:13

2024-11-11 06:20:00

緩存開(kāi)發(fā)

2022-06-01 23:30:04

漏洞網(wǎng)絡(luò)安全移動(dòng)攻擊

2024-02-26 11:12:33

定時(shí)任務(wù)線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)