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

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

開(kāi)發(fā) 后端 新聞
如果我們把人類(lèi)的現(xiàn)代文明看作一輛汽車(chē),那么軟件開(kāi)發(fā)行業(yè)就像汽車(chē)的發(fā)動(dòng)機(jī),編程語(yǔ)言就像發(fā)動(dòng)機(jī)的燃料。那么問(wèn)題來(lái)了,你應(yīng)該學(xué)哪種編程語(yǔ)言?

 如果我們把人類(lèi)的現(xiàn)代文明看作一輛汽車(chē),那么軟件開(kāi)發(fā)行業(yè)就像汽車(chē)的發(fā)動(dòng)機(jī),編程語(yǔ)言就像發(fā)動(dòng)機(jī)的燃料。那么問(wèn)題來(lái)了,你應(yīng)該學(xué)哪種編程語(yǔ)言?

[[312581]]

學(xué)習(xí)一門(mén)新的編程語(yǔ)言在時(shí)間、精力和腦力上的投入都非常巨大,但它可以提高你的軟件開(kāi)發(fā)技能,并給你的職業(yè)生涯帶來(lái)提升,正如我在另一篇博客中所寫(xiě)的:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

博客網(wǎng)址:https://medium.com/@md.kamaruzzaman/5-reasons-to-learn-a-new-programming-language-in-2020-bfc9a4b9a763

通常,你應(yīng)該選擇一種能有助于你事業(yè)發(fā)展的編程語(yǔ)言。另外,你還可以學(xué)習(xí)一門(mén)受歡迎程度正在上升的語(yǔ)言。

我對(duì)主流編程語(yǔ)言非常尊重。但在這里,我列出現(xiàn)代編程語(yǔ)言,這些語(yǔ)言可以提高你的工作效率,使你成為一個(gè)更好的開(kāi)發(fā)人員。此外,我還將涉及更廣泛的領(lǐng)域:系統(tǒng)編程,應(yīng)用程序開(kāi)發(fā),網(wǎng)絡(luò)開(kāi)發(fā),科學(xué)計(jì)算。

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

「現(xiàn)代編程語(yǔ)言」這個(gè)詞是模棱兩可的。許多人認(rèn)為像 Python、JavaScript 這樣的語(yǔ)言是現(xiàn)代編程語(yǔ)言。但同時(shí),他們認(rèn)為 Java 是一種古老的編程語(yǔ)言。事實(shí)上,它們都出現(xiàn)在同一時(shí)間:1995 年。

大多數(shù)主流的編程語(yǔ)言是在上個(gè)世紀(jì)發(fā)展起來(lái)的,主要是在 20 世紀(jì) 70 年代(例如 C)、20 世紀(jì) 80 年代(例如 C++)、20 世紀(jì) 90 年代(例如 Java、Python、JavaScript)。這些語(yǔ)言不是為了利用現(xiàn)代軟件開(kāi)發(fā)生態(tài)系統(tǒng)而設(shè)計(jì)的。盡管其中的許多語(yǔ)言中有改進(jìn)特性,比如并發(fā)性和自我調(diào)整,但是它們也提供了向后兼容性,并且不能丟棄舊的、過(guò)時(shí)的特性。

在這一點(diǎn)上,Python 做的很好,它在 Python 2 和 Python 3 之間做了一個(gè)明確的劃分。這些語(yǔ)言通常提供 10 種方法來(lái)做同樣的事情,而不關(guān)心開(kāi)發(fā)人員用起來(lái)是否方便。根據(jù) StackOverflow developer 的調(diào)查,大多數(shù)主流的舊編程語(yǔ)言都在「最可怕的語(yǔ)言」類(lèi)別中占據(jù)了榜首:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

我將以第一款 iPhone 發(fā)布的時(shí)候,也就是 2007 年 6 月 29 日作為新舊編程語(yǔ)言之間的界限時(shí)間點(diǎn)。在 iPhone 發(fā)布之后,一切都發(fā)生了變化。在這個(gè)列表中,我主要考慮 2007 年后的編程語(yǔ)言。

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

首先,開(kāi)發(fā)現(xiàn)代編程語(yǔ)言是為了充分利用現(xiàn)代計(jì)算機(jī)硬件(多核 CPU、GPU、TPU)、移動(dòng)設(shè)備、大數(shù)據(jù)集、快速網(wǎng)絡(luò)、容器和云。此外,大多數(shù)現(xiàn)代編程語(yǔ)言使用起來(lái)都更容易,主要體現(xiàn)在:

  • 簡(jiǎn)潔的代碼
  • 內(nèi)置的并發(fā)支持
  • 空指針安全
  • 類(lèi)型推斷
  • 更簡(jiǎn)單的特性集
  • 低認(rèn)知負(fù)荷
  • 混合所有編程范例的優(yōu)秀特性

其次,列表中的許多編程語(yǔ)言都具有破壞性,將永遠(yuǎn)改變軟件行業(yè)。其中一些已經(jīng)成為主流編程語(yǔ)言,而另一些則等待取得突破。至少作為第二種編程語(yǔ)言來(lái)學(xué)習(xí)這些語(yǔ)言是明智的。

在之前的一篇博文「20 個(gè) 2020 年軟件發(fā)展趨勢(shì)預(yù)測(cè)」中,我預(yù)測(cè)了 2020 年許多現(xiàn)代編程語(yǔ)言的突破:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

文章網(wǎng)址:https://towardsdatascience.com/20-predictions-about-software-development-trends-in-2020-afb8b110d9a0

Rust

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

系統(tǒng)編程語(yǔ)言是由 C、C++等主導(dǎo)的,盡管它們可以完全控制程序和硬件,但它們?nèi)狈?nèi)存安全性。即使它們支持并發(fā)性,但是在比你保證并發(fā)安全性的情況下,使用 C/C++編寫(xiě)并發(fā)程序是很有挑戰(zhàn)性的。其他流行的編程語(yǔ)言是可解釋性的語(yǔ)言,如 Java、Python、Haskell,它們提供安全性,但需要很多的運(yùn)行時(shí)間或虛擬機(jī)。由于運(yùn)行時(shí)很大,像 Java 這樣的語(yǔ)言不適合系統(tǒng)編程。

有很多人嘗試過(guò)將 C/C++的特性和 Haskell,Java 的安全性結(jié)合起來(lái),但目前看來(lái),Rust 是第一個(gè)實(shí)現(xiàn)這一目的的產(chǎn)品級(jí)編程語(yǔ)言。

Graydon Hoare 最早將 Rust 作為一個(gè)副產(chǎn)品開(kāi)發(fā)出來(lái)。他受到了研究性的編程語(yǔ)言 Cyclone 的啟發(fā)。Rust 是開(kāi)源的,Mozilla 與許多其他公司和社區(qū)一起進(jìn)行語(yǔ)言開(kāi)發(fā)。Rust 于 2015 年首次發(fā)布,很快就引起了社會(huì)各界的關(guān)注。在以前的文章中,我深入研究了 Rust,并論證了為什么在大數(shù)據(jù)域中使用 Rust 來(lái)代替 C++、Java 是一個(gè)更好的選擇:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

文章網(wǎng)址:https://towardsdatascience.com/back-to-the-metal-top-3-programming-language-to-develop-big-data-frameworks-in-2019-69a44a36a842

主要特性:

  • 通過(guò)所有權(quán)和借用的概念提供內(nèi)存安全性和并發(fā)安全性。
  • 內(nèi)存安全和并發(fā)安全的編譯時(shí)間保證,即如果一個(gè)程序代碼編譯了,那么它既是內(nèi)存安全的,也沒(méi)有數(shù)據(jù)競(jìng)爭(zhēng)。這是 Rust 最吸引人的特點(diǎn)。
  • 它還提供了 ML,Haskell 的表示方式。Rust 具有不變的數(shù)據(jù)結(jié)構(gòu)和函數(shù)式編程特性,提供函數(shù)式并發(fā)和數(shù)據(jù)并發(fā)。
  • Rust 的速度非常快。
  • 由于沒(méi)有運(yùn)行時(shí),Rust 提供了對(duì)現(xiàn)代硬件(TPU、GPU、多核 CPU)的完全控制。
  • Rust 有 LLVM 支持。

受歡迎程度:

自 2015 年首次亮相以來(lái),Rust 一直被開(kāi)發(fā)者所喜愛(ài),并在 StackOverflow 開(kāi)發(fā)者調(diào)查中連續(xù)四年(2016、2017、2018、2019)被評(píng)為很受歡迎的語(yǔ)言:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

根據(jù) GitHub Octoverse 的說(shuō)法,Rust 是僅次于 Dart 的增長(zhǎng)第二快的語(yǔ)言:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

流行編程語(yǔ)言網(wǎng)站 PyPl 也將 Rust 排在第 18 位,并呈上升趨勢(shì):

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

對(duì)比它提供的功能集,難怪像微軟、亞馬遜、谷歌這樣的科技巨頭最終宣布將 Rust 作為一種長(zhǎng)期的系統(tǒng)編程語(yǔ)言。

在過(guò)去的 5 年里,Rust 的吸引力每年都在增加:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用在:

  • 系統(tǒng)編程
  • 無(wú)服務(wù)器計(jì)算
  • 業(yè)務(wù)應(yīng)用程序

主要競(jìng)爭(zhēng)語(yǔ)言:

  • C
  • C++
  • Go
  • Swift

Go

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

谷歌是比較大的網(wǎng)絡(luò)公司之一。本世紀(jì)初,Google 面臨著兩個(gè)擴(kuò)展問(wèn)題:開(kāi)發(fā)擴(kuò)展和應(yīng)用程序擴(kuò)展。開(kāi)發(fā)擴(kuò)展意味著他們不能通過(guò)增加開(kāi)發(fā)人員來(lái)增加更多的功能,應(yīng)用程序擴(kuò)展意味著他們無(wú)法輕松開(kāi)發(fā)一個(gè)可以擴(kuò)展到「Google」級(jí)機(jī)器集群的應(yīng)用程序。2007 年左右,谷歌開(kāi)始創(chuàng)建一種新的「實(shí)用」編程語(yǔ)言,這種語(yǔ)言可以解決這兩個(gè)問(wèn)題。在 Rob Pike(UTF-8)和 Ken Thompson(UNIX 操作系統(tǒng))中,兩個(gè)世界上最有才華的軟件工程師創(chuàng)建了一種新的語(yǔ)言。

2012 年,谷歌發(fā)布了 Go 編程語(yǔ)言的第一個(gè)官方版本。Go 是一種系統(tǒng)編程語(yǔ)言,但不同于 Rust。它也有一個(gè)運(yùn)行時(shí)和垃圾收集器(幾兆字節(jié)),但與 Java 或 Python 不同的是,這個(gè)運(yùn)行時(shí)包含了生成的代碼。最后,Go 生成一個(gè)本機(jī)二進(jìn)制代碼,可以在沒(méi)有附加依賴(lài)項(xiàng)或運(yùn)行時(shí)的情況下在計(jì)算機(jī)中運(yùn)行。

主要特性:

  • Go 具有一流的并發(fā)支持。它不通過(guò)線程和鎖提供「共享內(nèi)存」并發(fā)性,因?yàn)榫幊屉y度要大得多。相反,它提供了基于 CSP 的消息傳遞并發(fā)性。Go 使用「Goroutine」(輕量級(jí)綠色線程)和「Channel」進(jìn)行消息傳遞。
  • Go 最具殺傷力的特點(diǎn)是簡(jiǎn)單,它是最簡(jiǎn)單的系統(tǒng)編程語(yǔ)言,一個(gè)萌新軟件開(kāi)發(fā)人員可以在幾天內(nèi)編寫(xiě)出高效的代碼。一些比較大的云原生項(xiàng)目(Kubernetes,Docker)是用 Go 編寫(xiě)的。
  • GO 也有嵌入式垃圾收集器,這意味著開(kāi)發(fā)人員不需要擔(dān)心像 C/C++那樣的內(nèi)存管理問(wèn)題。
  • 谷歌在 Go 上投入了大量資金,因此,Go 擁有大量的工具支持。對(duì)于新的 Go 開(kāi)發(fā)人員來(lái)說(shuō),有一個(gè)龐大的工具生態(tài)系統(tǒng)。
  • 通常,開(kāi)發(fā)人員花費(fèi) 20% 的時(shí)間編寫(xiě)新代碼,80% 的時(shí)間維護(hù)現(xiàn)有代碼。由于其簡(jiǎn)單性,Go 在語(yǔ)言維護(hù)領(lǐng)域表現(xiàn)出色。如今,Go 在商業(yè)應(yīng)用程序中得到了廣泛的應(yīng)用。

受歡迎程度:

自 Go 首次問(wèn)世以來(lái),軟件開(kāi)發(fā)社區(qū)已經(jīng)欣然接受了它。在 2009 年(首次亮相)和 2018 年,Go 通過(guò) TIOBE 指數(shù)進(jìn)入編程語(yǔ)言名人堂排行榜。難怪 Go 的成功為 Rust 這樣的新一代編程語(yǔ)言鋪平了道路。

Go 已經(jīng)是一種主流編程語(yǔ)言。最近,Go 團(tuán)隊(duì)宣布了「Go 2」的計(jì)劃,目的只是讓語(yǔ)言更加穩(wěn)固。

在幾乎所有流行編程語(yǔ)言比較網(wǎng)站,Go 的排名很高,超過(guò)了許多現(xiàn)有的語(yǔ)言。以下是 2019 年 12 月的 TIOBE 指數(shù)評(píng)級(jí),Go 排名第 15 位:

根據(jù) Stackoverflow 的調(diào)查,Go 是十大很受歡迎的編程語(yǔ)言之一:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

根據(jù) GitHub Octoverse 的統(tǒng)計(jì),Go 也是增長(zhǎng)最快的十大語(yǔ)言之一:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

谷歌還顯示,過(guò)去五年里,Go 的吸引力不斷增強(qiáng):

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用例:

  • 系統(tǒng)編程
  • 無(wú)服務(wù)器計(jì)算
  • 業(yè)務(wù)應(yīng)用程序
  • 云本機(jī)開(kāi)發(fā)

主要競(jìng)爭(zhēng)語(yǔ)言:

  • C
  • C++
  • Rust
  • Python
  • Java

Kotlin

[[312586]]

Java 是企業(yè)軟件開(kāi)發(fā)中無(wú)可爭(zhēng)議的王者。近年來(lái),Java 已經(jīng)受到了很多批評(píng):冗長(zhǎng),需要大量的樣板編碼,復(fù)雜,容易發(fā)生意外。然而,關(guān)于 Java 虛擬機(jī)(JVM)的爭(zhēng)論很少。JVM 是軟件工程領(lǐng)域的杰作,它提供了一個(gè)經(jīng)過(guò)時(shí)間考驗(yàn)的運(yùn)行時(shí)。在上一篇文章中,我詳細(xì)討論了 JVM 的優(yōu)點(diǎn):

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

文章網(wǎng)址:https://towardsdatascience.com/programming-language-that-rules-the-data-intensive-big-data-fast-data-frameworks-6cd7d5f754b0

多年來(lái),像 Scala 這樣的 JVM 語(yǔ)言試圖回答 Java 的缺點(diǎn),并希望成為更好的 Java,但是失敗了。最后,Kotlin 出現(xiàn)了,尋找更好 Java 的旅程似乎已經(jīng)結(jié)束。Jet Brains(流行 IDE IntelliJ 背后的公司)開(kāi)發(fā)了 Kotlin,它運(yùn)行在 JVM 上,解決了 Java 的缺點(diǎn),并提供了許多現(xiàn)代特性。與 Scala 不同,Kotlin 比 Java 簡(jiǎn)單得多,并在 JVM 中提供 Go 或 Python 式的開(kāi)發(fā)效率。

谷歌宣布 Kotlin 是開(kāi)發(fā) Android 的一流語(yǔ)言,并提高了 Kotlin 在社區(qū)的接受度。同樣流行的 Java 企業(yè)框架 Spring 也從 2017 年開(kāi)始在 Spring 生態(tài)系統(tǒng)中支持 Kotlin。

主要特性:

  • Kotlin 的 USP 是它的語(yǔ)言設(shè)計(jì)。我總是將 Kotlin 看作 JVM 上的 Go/Python,因?yàn)樗拇a簡(jiǎn)潔明了。因此,Kotlin 的生產(chǎn)效率很高。
  • 與許多其他現(xiàn)代語(yǔ)言一樣,Kotlin 提供了空指針安全、類(lèi)型推斷等功能。
  • 因?yàn)?Kotlin 在 JVM 中運(yùn)行,因此你可以使用現(xiàn)存的 Java 庫(kù)龐大的生態(tài)系統(tǒng)。
  • Kotlin 是開(kāi)發(fā) Android 應(yīng)用程序的一流語(yǔ)言,已經(jīng)超越 Java 成為開(kāi)發(fā) Android 應(yīng)用程序的第一語(yǔ)言。
  • Kotlin 有 JetBrains 和開(kāi)源的支持。所以,Kotlin 有很好的工具支持。
  • 有兩個(gè)有趣的項(xiàng)目:Kotlin Native(將 Kotlin 編譯為本機(jī)代碼)和 Kotlin.js(Kotlin 轉(zhuǎn)換為 JavaScript)。如果他們成功了,那么 Kotlin 可以在 JVM 之外使用。
  • Kotlin 還提供了一種編寫(xiě) DSL(領(lǐng)域特定語(yǔ)言)的簡(jiǎn)單方法。

受歡迎程度:

自 2015 年首次發(fā)布以來(lái),Kotlin 的受歡迎程度正在飆升。根據(jù) Stack Overflow,Kotlin 是 2019 年第四受歡迎的編程語(yǔ)言:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

Kotlin 也是增長(zhǎng)比較快的編程語(yǔ)言之一,排名第四:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

熱門(mén)編程語(yǔ)言排名網(wǎng)站 PyPl 將 Kotlin 列為第 12 位很受歡迎的編程語(yǔ)言,并有很高的上升趨勢(shì):

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

自從谷歌宣布 Kotlin 是開(kāi)發(fā) Android 應(yīng)用程序的一流語(yǔ)言以來(lái),Kotlin 的受歡迎程度快速上升,如下圖所示:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用例:

  • 企業(yè)應(yīng)用程序
  • Android應(yīng)用程序開(kāi)發(fā)

主要競(jìng)爭(zhēng)語(yǔ)言:

  • Java
  • Scala
  • Python
  • Go

TypeScript

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

JavaScript 是一種優(yōu)秀的語(yǔ)言,但 2015 年以前的 JavaScript 有許多缺點(diǎn)。甚至著名的軟件工程師 Douglas Crockford 也寫(xiě)過(guò)一本書(shū)《JavaScript: The Good Parts》,并暗示 JavaScript 有很多不好的部分。由于沒(méi)有模塊化和「回調(diào)地獄」,開(kāi)發(fā)人員不喜歡維護(hù)特別大的 JavaScript 項(xiàng)目。

Google 甚至開(kāi)發(fā)了一個(gè)平臺(tái),將 Java 代碼轉(zhuǎn)換為 JavaScript 代碼(GWT)。許多公司或個(gè)人試圖開(kāi)發(fā)更好的 JavaScript,例如 CoffeeScript、Flow、ClojureScript,但微軟的 TypeScript 無(wú)疑是其中最突出的。由 Delphi 的創(chuàng)建者 Anders Hejlsberg 領(lǐng)導(dǎo)的一組微軟工程師創(chuàng)建了 TypeScript,把它作為 JavaScript 的靜態(tài)類(lèi)型的模塊化超集。

在編譯期間,TypeScript 被編譯為 JavaScript。2014 年首次發(fā)布以來(lái),TypeScript 迅速引起社會(huì)關(guān)注。當(dāng)時(shí)谷歌還計(jì)劃開(kāi)發(fā)一個(gè)靜態(tài)類(lèi)型的 JavaScript 超集。谷歌對(duì) TypeScript 印象深刻,他們沒(méi)有開(kāi)發(fā)新的語(yǔ)言,而是與微軟合作改進(jìn) TypeScript。

Google 使用 TypeScript 作為其 SPA 框架 Angular2+ 的主要編程語(yǔ)言。另外,流行的 SPA 框架 React 提供了對(duì) TypeScript 的支持。另一個(gè)流行的 JavaScript 框架 Vue.js 聲明他們將使用 TypeScript 開(kāi)發(fā)新的 Vue.js 3:

此外,node.js 的創(chuàng)建者 Ryan Dahl 決定使用 TypeScript 開(kāi)發(fā)一個(gè)安全的 node.js 替代品 Deno。

主要特性:

  • 與列表中的 Go 或 Kotlin 一樣,TypeScript 的主要特性是語(yǔ)言設(shè)計(jì)。憑借其清晰干凈的代碼,它是比較優(yōu)雅的編程語(yǔ)言之一。就開(kāi)發(fā)人員的生產(chǎn)力而言,它與 JVM 上的 Kotlin 或 Go/Python 不相上下。TypeScript 是最高效的 JavaScript 超集。
  • TypeScript 是 JavaScript 的強(qiáng)類(lèi)型超集。它特別適合大型項(xiàng)目,并被正確地稱(chēng)為「大規(guī)模的 JavaScript」。
  • 「三大」單頁(yè)應(yīng)用程序框架(Angular、React、Vue.js)為 TypeScript 提供了極好的支持。在 Angular 中,TypeScript 是首選的編程語(yǔ)言。在 React 和 Vue.js 中,TypeScript 越來(lái)越流行。
  • 兩個(gè)比較大的科技巨頭:微軟和谷歌正在合作開(kāi)發(fā) TypeScript,它得到了一個(gè)充滿活力的開(kāi)源社區(qū)的支持。因此,對(duì) TypeScript 的工具支持是很好的支持之一。
  • 由于 TypeScript 是 JavaScript 的超集,它可以在 JavaScript 所有的地方運(yùn)行。TypeScript 可以在瀏覽器、服務(wù)器、移動(dòng)設(shè)備、物聯(lián)網(wǎng)設(shè)備和云上運(yùn)行。

受歡迎程度:

開(kāi)發(fā)人員喜歡 TypeScript 優(yōu)雅的語(yǔ)言設(shè)計(jì)。在 Stackoverflow 開(kāi)發(fā)者調(diào)查中,它在很受歡迎的語(yǔ)言類(lèi)別中與 Python 并列第二:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

TypeScript 是增長(zhǎng)很快的 Web 編程語(yǔ)言之一,在 GitHub Octoverse 上排名第五:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

根據(jù) GitHub 貢獻(xiàn),TypeScript 也進(jìn)入了前 10 名(排名第 7):

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

TypeScript 在過(guò)去的一年中吸引了越來(lái)越多的眼球,這反映在 Google 趨勢(shì)上:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用例:

  • Web 用戶界面開(kāi)發(fā)
  • 服務(wù)器端開(kāi)發(fā)

主要競(jìng)爭(zhēng)語(yǔ)言:

  • JavaScript
  • Dart

Swift

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

Steve Jobs 拒絕在 iOS 中支持 Java(和 JVM),因?yàn)樗J(rèn)為 Java 將不再是一種主要的編程語(yǔ)言。我們現(xiàn)在知道 Steve Jobs 對(duì) Java 的評(píng)價(jià)是錯(cuò)誤的,但是 iOS 仍然不支持 Java。相反,蘋(píng)果選擇 Objective-C 作為 iOS 中的主流編程語(yǔ)言。Objective-C 是一門(mén)很難掌握的語(yǔ)言。而且,它具備現(xiàn)代編程語(yǔ)言所要求的高開(kāi)發(fā)效率。

在蘋(píng)果,Chris Lattner 和其他人開(kāi)發(fā)了 Swift ,它是一種多范式、通用、可編譯的編程語(yǔ)言,為 Objective-C 提供了一種替代方案。Swift 的第一個(gè)穩(wěn)定版本于 2014 年發(fā)布。Swift 還支持 LLVM 編譯器工具鏈(也由 Chris Lattner 開(kāi)發(fā))。Swift 與 Objective-C 代碼庫(kù)具有良好的互操作性,并且已經(jīng)成為 iOS 應(yīng)用程序開(kāi)發(fā)的主要編程語(yǔ)言。

主要特性:

  • Swift 的一個(gè)致命優(yōu)點(diǎn)是它的語(yǔ)言設(shè)計(jì)。它使用更簡(jiǎn)單、簡(jiǎn)潔和干凈的語(yǔ)法,為 Objective-C 提供了一個(gè)更高效的替代方案。
  • Swift 還提供了現(xiàn)代程序語(yǔ)言的特性:null 安全性。
  • Swift 是一種編譯語(yǔ)言,它和 C++一樣快。
  • Swift 支持 LLVM 編譯器工具鏈。因此,我們可以在服務(wù)器端甚至瀏覽器編程(使用 WebAssembly)中使用 Swift。
  • Swift 提供自動(dòng)參考計(jì)數(shù)(ARC)支持,這樣可以限制內(nèi)存管理不當(dāng)。

受歡迎程度:

和許多其他現(xiàn)代語(yǔ)言一樣,開(kāi)發(fā)人員也非常喜歡 Swift。根據(jù) StackOverflow 的調(diào)查,Swift 在很受歡迎的編程語(yǔ)言中排名第六:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

在 TIOBE 的編程語(yǔ)言排行榜中,Swift 在 2019 年已升至第 10 位??紤]到這門(mén)語(yǔ)言才 5 歲,這是一個(gè)相當(dāng)了不起的成就:

Google trends 還顯示,Swift 的受歡迎程度先急劇上升,隨后在最后幾次飽和中趨勢(shì)略有下降:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用例:

  • iOS 應(yīng)用程序開(kāi)發(fā)
  • 系統(tǒng)編程
  • 客戶端開(kāi)發(fā)(通過(guò) WebAssembly)

主要競(jìng)爭(zhēng)語(yǔ)言:

  • Objective-C
  • Rust
  • Go

Dart

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

Dart 也是 Google 發(fā)布的編程語(yǔ)言。Google 是網(wǎng)絡(luò)和安卓領(lǐng)域的關(guān)鍵玩家,在網(wǎng)絡(luò)和應(yīng)用程序開(kāi)發(fā)領(lǐng)域開(kāi)發(fā)自己的編程語(yǔ)言也就不足為奇了。

Dart 是一種支持強(qiáng)類(lèi)型和面向?qū)ο缶幊痰耐ㄓ镁幊陶Z(yǔ)言。Dart 也可以被轉(zhuǎn)換成 JavaScript,并且可以運(yùn)行在 JavaScript 運(yùn)行著的任何地方(例如 Web、移動(dòng)、服務(wù)器)。

主要特性:

  • 與 Go 一樣,Dart 也非常注重開(kāi)發(fā)人員的工作效率。Dart 由于其干凈、簡(jiǎn)單、簡(jiǎn)潔的語(yǔ)法,極大地提高了生產(chǎn)效率,深受開(kāi)發(fā)人員的喜愛(ài)。
  • Dart 還提供強(qiáng)大的類(lèi)和面向?qū)ο蟮木幊獭?/li>
  • Dart 是少數(shù)支持 JIT 編譯和 AOT 編譯的語(yǔ)言之一。因此,Dart 可以以 JavaScript 運(yùn)行時(shí)(V8 引擎)為目標(biāo),Dart 可以編譯成快速的本機(jī)代碼(AOT 編譯)。
  • 跨平臺(tái)的原生應(yīng)用開(kāi)發(fā)平臺(tái) Flutter 選擇 Dart 作為編程語(yǔ)言來(lái)開(kāi)發(fā) iOS 和 Android 應(yīng)用。從那以后,Dart 變得越來(lái)越流行。
  • 與 Go 一樣,Dart 也有出色的工具支持和 Flutter 巨大的生態(tài)系統(tǒng)。Flutter 的日益流行只會(huì)增加 Dart 的流行程度。

受歡迎程度:

根據(jù) Github Octoverse,Dart 是 2019 年增長(zhǎng)很快的編程語(yǔ)言,去年它的受歡迎程度翻了五倍:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

根據(jù) TIOBE,Dart 居于第 23 位,僅僅 4 年時(shí)間,它已經(jīng)超越了其它很多編程語(yǔ)言:

它也是 StackOverflow 開(kāi)發(fā)者調(diào)查中排名第 12 位的很受歡迎的編程語(yǔ)言之一:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

除了 Flutter,Dart 的受歡迎程度在過(guò)去兩年也經(jīng)歷了巨大的改善,這一點(diǎn)在 Google 中很明顯:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

主要用例:

  • 應(yīng)用程序開(kāi)發(fā)
  • 前端開(kāi)發(fā)

主要競(jìng)爭(zhēng)語(yǔ)言:

  • JavaScript
  • TypeScript

Julia

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

前面列出的編程語(yǔ)言都是由大公司開(kāi)發(fā)的,但 Julia 不是。在技術(shù)計(jì)算中,通常使用 Python、Matlab 等動(dòng)態(tài)語(yǔ)言。這些語(yǔ)言提供易于使用的語(yǔ)法,但不適合大規(guī)模的技術(shù)計(jì)算,他們使用 C/C++庫(kù)來(lái)處理 CPU 密集型任務(wù)。由于代碼是在兩種語(yǔ)言之間轉(zhuǎn)換的,因此總會(huì)有一些性能損失。

為了解決這個(gè)問(wèn)題,麻省理工學(xué)院的一組研究人員計(jì)劃從頭開(kāi)始創(chuàng)建一種新的語(yǔ)言,它利用了現(xiàn)代硬件的優(yōu)勢(shì),并結(jié)合了其他語(yǔ)言的最佳部分。他們?cè)诼槭±砉W(xué)院創(chuàng)新實(shí)驗(yàn)室完成這項(xiàng)工作,還發(fā)表了以下宣言:

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

Julia 是一種動(dòng)態(tài)的高級(jí)編程語(yǔ)言,為并發(fā)、并行和分布式計(jì)算提供一流的支持。Julia 的第一個(gè)穩(wěn)定版本于 2018 年發(fā)布,很快就得到了社區(qū)和業(yè)界的青睞。Julia 可以應(yīng)用于科學(xué)計(jì)算、人工智能等許多領(lǐng)域,最終解決「兩種語(yǔ)言」的問(wèn)題。

特性:

  • 和 Rust 一樣,Julia 的主要特點(diǎn)是語(yǔ)言的設(shè)計(jì)。它試圖在不犧牲性能的情況下,結(jié)合現(xiàn)有的編程語(yǔ)言在高性能和科學(xué)計(jì)算中的一些最佳特性。到目前為止,它做得很好。
  • Julia 是一種可選類(lèi)型的動(dòng)態(tài)編程語(yǔ)言。因此,Julia 很容易學(xué)習(xí),而且效率很高。
  • 它以多分派編程范式為核心。
  • 它內(nèi)置了對(duì)并發(fā)、并行和分布式計(jì)算的支持。
  • 它還為 I/O 密集型任務(wù)提供異步 I/O。
  • 它速度非???,可以用于需要數(shù)百萬(wàn)線程的科學(xué)計(jì)算。

受歡迎程度:

在許多領(lǐng)域,Julia 主要與 Python 競(jìng)爭(zhēng)。由于 Python 是很流行的編程語(yǔ)言之一,Julia 成為主流還需要幾年時(shí)間。

Julia 相對(duì)年輕(只有一歲),但在 TIOBE index 中仍排在第 43 位:

Google Trends 也顯示出過(guò)去的時(shí)間里,程序員對(duì) Julia 的穩(wěn)定興趣。

現(xiàn)代編程語(yǔ)言哪家強(qiáng)?2020年,你或許應(yīng)該了解這7門(mén)編程語(yǔ)言

但考慮到 Julia 背后的功能集和公司數(shù)量,如 NSF、DARPA、NASA、Intel,Julia 何時(shí)取得突破只是個(gè)時(shí)間問(wèn)題。

主要用例:

  • 科學(xué)計(jì)算
  • 高性能計(jì)算
  • 數(shù)據(jù)科學(xué)
  • 可視化

主要競(jìng)爭(zhēng)語(yǔ)言:

  • Python
  • Matlab

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2020-08-19 08:18:59

編程語(yǔ)言JavaPython

2021-08-18 10:44:18

編程語(yǔ)言FlutterUnity

2021-08-18 06:48:52

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

2020-01-21 22:08:05

編程語(yǔ)言PythonJava

2019-04-24 08:34:46

編程語(yǔ)言PythonJava

2013-07-26 10:23:04

2024-05-09 08:35:24

哈希表數(shù)組存儲(chǔ)

2020-04-26 11:30:55

哈希表編程語(yǔ)言開(kāi)發(fā)

2018-07-06 15:25:50

程序員編程python

2020-07-10 08:52:44

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

2018-08-21 13:50:05

編程語(yǔ)言JavaPython

2021-04-11 09:59:03

編程語(yǔ)言數(shù)據(jù)分析Python

2019-06-28 08:56:35

編程語(yǔ)言框架工具

2017-04-07 10:45:43

編程語(yǔ)言

2017-04-07 16:49:00

語(yǔ)言程序編程

2019-11-15 14:48:26

編程語(yǔ)言開(kāi)發(fā)者分析

2015-12-23 10:00:04

多種編程語(yǔ)言

2019-09-22 21:05:51

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

2020-02-14 09:19:12

編程語(yǔ)言JavaPython

2020-02-26 15:14:23

編程語(yǔ)言PythonJava
點(diǎn)贊
收藏

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