五种前景光明的编程语言(三年后)

KDPV


2016年,我发表了一篇有关5种有前途的编程语言文章的译文,并预测了它们在未来2-3年中的增长。
通常,预测仍然是预测,无需进一步分析。 但是我认为那是一团糟。 既然已经过去了3年,那么该是取得中间结果并查看这段时间内这些语言发生了什么的时候了。


但是,在继续介绍五个英雄之前,我想稍微注意一下Swift和Go从同一篇文章中预测的从第二层到第一层的过渡。


关于火车

在原始文章中,有条件地将编程语言分为3个梯队。
第一梯队包括主流语言,例如Java,JavaScript,Python,Ruby,C#等。
第二梯队的语言正试图打入主流,但尚未实现。 他们通过建立强大的社区来证明了自己的价值,但大多数保守的IT公司仍然不使用它们。 第一梯队中的大多数语言都牢固地植根于自己的位置。 因此,从领导地位丧失语言要花费明显的时间,而对于第二层语言来说,很难进入第一层语言。
第三层包括不受欢迎的语言,以及相对较新的有前途的语言(将在后面讨论),它们才刚刚起步。 有些语言在第三层中停留了很多年而没有获得普及,而另一些则在短短几年内迅速出现。


这两种语言无疑都加强了它们的地位。 Swift从版本3.0设法达到了5.0,并最终保证了ABI的稳定性。 换句话说,Apple不再计划通过不断更改方法签名等方式来烦扰Swift程序员。 此外,Swift最终取代了Objective-C,在新的RedMonk排名中超过了它并且比3年前的 排名上升了6位。 显然,这种趋势还将继续,因此可以说,Swift在第一梯队中占据了位置。


至于Go,它的评级下降了一个位置(从第15位上升到第16位),从1.7版下降到1.13版,并且处于全球重新考虑错误处理和语言中存在泛型的阶段。在其存在的所有12年中,引起最多的投诉。 总的来说,Go正在缓慢发展,在生产中使用它的项目数量正在增长,但是现在谈论迁移到第一梯队为时尚早。


除了Swift和Go外,值得注意的还有TypeScript,它连续3年取得了非凡的突破,从排名的第26位跃升至第10位。 如果您正在开发前端,但仍不熟悉这种语言,那么该刻了。 已经直接知道。


现在,宣传和主要内容-我们的五种语言,预示了从第三梯队到第二梯队的过渡。 这三年来他们发生了什么变化?


首先,关于Github上的定量OpenSource活动的摘要表:


铁锈长生不老药科特林榆木水晶
回购用户数回购用户数回购用户数回购用户数回购用户数
2016年51461935年2668861960154143319415052
2019年2370013500168004000243002640053009941200469
成长性4.6倍7倍6.3倍4.6倍25倍17倍12倍5.1倍8倍9倍

* Github现在不会显示超过1000的确切数字,而只是显示来自下面的估计值,因此我对每种语言进行了十二打查询,并将最大结果四舍五入。


显然,三年前该语言的地位越适中,就越容易表现出多重增长。 尽管如此,Rust和Elixir还是2016年我们五个仓库中的领导者,在这项任务上做得非常出色。 但是,科特林展示了最出色的成绩,显示出真正的爆炸性增长。 我们将在下面讨论原因,但现在,让我们看看这些语言在RedMonk阶梯上走了什么路:


RedMonk统计数据2016


Redmonk统计数据2019


为了根据时间表评估语言的进度,我获取了它们的坐标并计算了增量:


((x2 - x1) + (y2 - y1)) / 2

:


Kotlin:  +41%
Rust:    +20%
Elixir:  +20%
Elm:     +18%
Crystal: +32% # - ,  3        

, ( ). , , StackOverflow. , , Discourse, , StackOverflow.


, 5 . ? Top , .


5- : Elm


, Elm . -, 3 2 , — 0.19 , . , . ( ) 2 , roadmap . , Elm . , - Elm c . .


, dimsmol, fshp hellosandrik PureScript, Elm. 1.0, . Haskell .


4- : Crystal


3 Crystal RedMonk, Top-100 . 0.19 0.30. , , . , 1.0 2017 .


, Windows. . 1.0. Crystal — , Ruby . Ruby Windows 10 . , , Windows Crystal, . , , . 1.0 — .


, Crystal , .. , Ruby Python Elixir Go. Crystal , . , .. Crystal Elixir, Go , , Ruby nil reference.


2-* : Rust


Rust 6 . , 3 1.11 1.37. , , . , , , , 3 . , . Core Team , 2019- — . , , ( , master) . IDE Rust Language Server, WebAssembly GUI-.


, Rust , . , high-performance . , Rust, , . , Haskell ("avoid success at all costs"). , — , , : Rust 1- The Most Loved Languages StackOverflow .


* , 2 :-)


2- : Elixir


Rust , Elixir, 3 1.3 1.9, . . 2 , Elixir :


-, Elixir Erlang/OTP, Ericsson OTP Team . Elixir Team 3 .


-, Elixir . , , . , . ( Elixir) Broadway — , .


, Elixir , , , , . , Erlang, Elixir, . , Elixir , “Adopting Elixir”. , .


1- : Kotlin


— Kotlin. 3 3- 1-, Java Android. Kotlin, 2017 Android. , , Android Studio 3.0. , Android , 4 Google Kotlin Android. , Google Oracle Java, , , JetBrains . , Java , , Java . !


, JetBrains Kotlin Native, Kotlin .


RedMonk, 20- , , Kotlin Java-, . , Java, Android-. , 3 Java , Kotlin , Swift Objective-C.



, . Elm Crystal , 3 . Kotlin Google , Rust Elixir production-ready . , … - Elixir Rust, - , - ( 11 . ), 2- . .
, . 2 : (Rust) (Elixir).


P.S. 3 Top ?

Source: https://habr.com/ru/post/zh-CN467207/


All Articles