[关闭]
@levinzhang 2023-01-08T05:36:07.000000Z 字数 1525 阅读 195

正在诞生的五种编程语言

摘要

目前是一个编程语言百花齐放的时代,不同的语言致力于解决不同的问题。在本文中,作者整理了五种正在诞生的新语言。


本文最初发表于作者的个人博客网站,经原作者Kevin Da Silva授权,由InfoQ中文站翻译分享。

这个周末,我在YouTube频道上观看了大量关于编程语言的视频,并在Github上看到了很多新的编程语言正在出现。不得不说,IT市场已经变得非常疯狂,但是在大多数公司中,开展工作时都在使用相同的繁琐技术,而不是使用新鲜和时髦的技术。作为一种爱好,编程是一件非常神奇的事情,看到有如此多的语言和工具,这实在太酷了。看着每天都有语言在Github上诞生,这更是不可思议。

所以这篇文章的意图是列出一些还没有到1.0版本的语言,但它们绝对值得我们关注。

请注意,本文中的“正在诞生”指的是仍低于1.0版本的语言,但这不应该是妨碍你基于它们构建特性的原因,因为一般来说,它们和许多主流编程语言一样完备。

但首先,我们回顾一下现在使用的语言,市场上使用的大部分语言都是由于大的科技企业想要锁定其他的公司,并便于向他们出售商品而被选中的,比如微软的.NET和Typescript、Sun/甲骨文的Java,以及其他公司的杀手级应用(如让JS依然光芒万丈的浏览器、WordPress的PHP以及数据科学中的Python)。

然后,硬件发生了变化,处理器上增加了更多的内核,使用以前那些流行的语言就意味着要抛弃处理能力或在软件中增加不安全的代码层,所以新的一批语言崛起了,试图克服这个问题,举例来说Elixir、Rust、Clojure、Go、Scala等。

但是,就业市场并不关心计算能力的浪费,仍然一如既往地使用原有的东西。在我看来,唯一相对流行起来的是Go,不仅仅是因为Go是一种相当好的语言,还因为谷歌的影响/声誉(该语言非常棒,有一个非常好的并发模型,但前文提到的其他语言也有这样的并发模型)。

而现在,有大量的语言正在诞生,以解决特定主题的问题,如下是我们的名单:

Grain

Grain是一种函数式语言,在我看来,它是JavaScript和一点ML的混合体,专注于编译成web assembly,能够在多平台上运行

Zig

Zig是一门系统语言,但总的来说比Rust简单(也没有那么安全),Zig没有C和C++的影子,如果你不考虑上述三种语言中的任何一种,它是一个合适的选择。

关于Bun有一个热议的话题,它是基于Zig构建的JavaScript运行时,比Node和Deno更快。

V

V是一门通用的编程语言,也可以作为系统语言,其网站说它非常简单,你可以在一个周末学会,它还说Go程序员会对该语言非常熟悉,因为V语言在很多方面借鉴了Go。

V语言的网站也有一些关于磁盘空间和编译时间的基准测试结果,看起来非常有吸引力。

Factor

迄今为止提到的所有语言中,我认为Factor是最古老的。它出现在2003年,但它目前的版本还不到1.0,所以我将这个语言列为诞生中的语言。

Factor是一种栈语言,意味着每个元素和函数调用的行为都类似于栈:

  1. [ 4 ]
  2. -----
  3. [ + ]
  4. -----
  5. [ 3 ]
  6. 输出错误,因为“+”函数要基于两个元素进行调用,目前栈上只有一个数字
  7. [ + ]
  8. -----
  9. [ 5 ]
  10. -----
  11. [ 4 ]
  12. -----
  13. [ 3 ]
  14. 输出9,因为“+”函数会应用于之前的54元素,最终生成的栈为
  15. [ 9 ]
  16. -----
  17. [ 3 ]

Gleam

Gleam是面向Erlang虚拟机的类型化语言,Gleam的语法对于类型化语言来说非常优雅和简单。如果能看到Gleam像Elixir一样成功,那就太酷了。

这只是一些可供我们尝试的新语言,但还有很多其他的语言,我相信肯定会有足够的材料来写这篇文章的第二部分。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注