服务与支持
当前位置:首页 > 服务与支持

C、C++ 成众矢之的这群程序员发起编程语言“革命”!

发布时间:2022-08-20 03:34:41 来源:苹果亚博体育下载安装 作者:亚博体育网址

  ,虽然排名靠前依然是我们熟悉的 Python、C、C++、Java 等语言,但是近日来,似乎是看到了文章伊始所述的趋势,我们见证了不少剑指老牌语言的新编程语言诞生,譬如有的是一群 Go 语言爱好者发起的凹语言,也有的是来自大厂的一线员工如 Oracle 核心团队成员创建的 Vely,还有的是科技巨头如 Google 自身研发的 Carbon。

  接下来,我们将与大家一起了解一下最新诞生的编程语言,看其能否填补老牌语言们留下的遗憾。

  凹语言(凹读 wa),作为一门刚刚起步的实验性编程语言,它是由国内的一群 Go 语言爱好者发起的,主要设计目标之一是「成为 Go 和 Rust 语法外衣的 C++ 语言」。

  在创建伊始,柴树杉、丁尔男和史斌三位 Gopher 便决定以开源的方式来推动凹语言的发展,其开源地址为:。

  现下,凹语言处于非常早期的实验阶段,该团队在凹语言特性和编译器实现方面都进行了预期设定。其中,凹语包含两套相互等价的语法,即凹语法与 WaGo 语法。这里 等价 的含义是:二者可生成相同的 AST 并无损的互相转换。使用凹语法编写的源文件后缀为 .wa,使用 WaGo 语法编写的源文件后缀为 .wa.go。WaGo 语法是 Go 语法的真子集,换句话说:一个合法的 WaGo 包必然是合法的 Go 包。对此,创建者之一柴树杉也在知乎上进一步表示,「等价不是最终目标,只是为了方便习惯 Go 的用户。」

  在凹编译器方面,该团队发布了如下工作流程图,希望支持 C/C++、LLVM IR、WASM 等多种输出以满足不同的目标场景。

  作为个人业余项目,几位创建者表示, 纵观编程界,没有哪门被广泛使用的通用语言诞生于 KPI 制度之下 ,因此当前该项目不存在明确的 KPI 指标,在其个人时间、精力、兴趣的支持下,从成果分类的角度,该团队希望能够在第一阶段完成:

  对于设计凹语言的初心,在 GitHub 的 README.md 文件中,该团队也非常直白地写道,「本项目启动时大量借鉴了 Go 的设计思想和具体实现——这是在有限投入下不得不作出的折衷,我们希望随着项目的发展,积累更多原创的设计,为自主创新的大潮贡献一点力量。」

  同时,对于凹语言未来的发展,该团队也将「持以开放态度」,希望能够有更多的开发者参与进来,共建凹语言。

  和凹语言一样,新诞生的 Vely 语言同样属于个人项目。它的作者 Sergio Mijatovic 是一位在 Oracle 核心工程工作超过十年,担任中间件的高级软件工程师。

  根据官方介绍()显示,Vely 是一种嵌入式编程语言,以 C 为宿主语言。它被预编译为 C,创建一个本机可执行文件。Vely 的 Logo 是一头可爱的大象,对此,Sergio Mijatovic 给出的解释是, 大象很聪明,尽管它们既不快也不轻,但我知道它们会喜欢 Vely,因为 Vely 两者都兼备。

  相比其他编程语言,当谈及 Vely 的优势时,Sergio Mijatovic 表示,性能和简单性是这个问题简短的回答。

  从定位上来看,Vely 语言自身就是为了快速构建具有最大性能的服务器端应用程序而生。

  Sergio Mijatovic 表示,通过使用 Vely 语言,这意味着生成高效和安全的 C 代码的简单语句。这样的语句是直接用 C 代码编写,所以根据定义,它不是一种新的语言。它是 C 和生成 C 语言的嵌入式语言的合并。因此,Vely 的目标是偏向嵌入式语言的一侧,因为构建应用程序会更安全,更丰富,更快捷,并在需要时编写 C。

  简单来看,Vely 语句很简单,是在 C 代码中编写的,因此无需学习有关下面层的任何新知识。大多数 Vely 语句都会生成许多 C 语句。

  Vely 应用程序是本地可执行文件,没有解释器或字节码方案,这带来性能高、占用空间小等特点。

  此外,Vely 语言可以轻松地使用数据库(MariaDB、PostgreSQL、SQLite),并通过 FastCGI 服务器为网络应用程序编写后端。在命令行上运行相同的代码。

  Vely 编码涵盖了 Web、数据库、字符串、文件、流程和执行、编码 / 加密、时间、错误处理、守护神化代码和其他常见任务。它自带自动内存管理和垃圾回收功能。

  使用者也可以将 Vely 用于 Web 应用、命令行程序,还可以作为中间件、数据库应用、服务软件、数据集成、物联网(IOT)和其他地方。由于资源要求低,而且易于容器化,此语言也非常适合云计算应用中。

  运行——可以将 Hello World 作为服务运行,也可以从命令行运行。

  Sergio Mijatovic   表示, 我不会说 Vely 是优雅的,这当然也不是它的目标,但 Vely 可以称得上很简单,更多的是围绕人们的实际需求来落地的。我们的想法是不牺牲性能,并显著提高生产率和安全性。

  对于 Vely 的创建,Sergio Mijatovic   称,「是在没有资金支持的情况下利用自己的时间创建的」。目前,Vely 不接受公众的贡献,这也是为了能够更聚焦和更少的开销来考虑。

  当前,Vely 是一款自由开源软件,根据   GNU 通用公共许可证 v3.0  (GPL 3),开发者可以使用 Vely 编写应用程序(包括专有和商业),而无需发布源代码。

  「我为 Vely 断断续续工作了几年,经历了几次完整的重写,主要是为了学习如何把事情做得更好。我也希望它可以帮助你做同样的事情」,Sergio Mijatovic 说道。

  另一款对标 C 语言的是于今年 4 月面世的Hare 语言,由软件开发者 Drew DeVault 创建,它是基于 qbe 编译器后端,在占用空间小的情况下提供了良好的性能,让程序员能够用上好的工具。

  在应用场景上,Hare 使用静态类型系统、手动内存管理和最小运行时,由此它非常适合编写操作系统、系统工具、编译器、网络软件和其他低级高性能任务。

  据外媒 The Register 报道,Hare 的标准库中还融合了 Google 的 Go 编程语言思想,特别是在标准库以及 电池 中内置了许多功能,以此避免需要导入外部的依赖项。这样做,能避免程序员去寻找依赖项,同时也有一个可管控的范围。

  根据作者   Drew   DeVault   的解释,其将 Hare 描述为一种避免 C 语言陷阱的方式,并表示道, 许多旨在和 C 语言竞争的语言实则相差太远了。Hare 是一种保守的语言,旨在将过去 30 年的经验教训提炼成一种小型的、简单的、稳健的语言,可以在未来 30 年内让程序员依赖。我们并不关注大胆创新,而是关注精心的工程设计。

  不久之前,综合安全因素考虑,也旨在帮助开发者创建 性能关键型软件 ,Google 开源并发布了新型语言 Carbon。此前,CSDN 也曾发文剖析了 Carbon 语言的设计目标:

  对于其未来发展,Google 表示,Carbon 需要成为一个 独立的并且由社区驱动的项目 ,而不仅仅是为谷歌自用。

  在此牵引下,新编程语言推陈出新,快速崛起,其中尤其是对标 C、C++、Java 等老牌语言的最胜。但众人皆知,老牌编程语言能有如今的地位,非一日之功。从上述已推出的几款语言中也不难看出,在两两对标的语言中,最为成功的莫过于苹果的 Swift 了,只因为无论是在开发环境、功能,还是性能、工具包以及社区支持上,苹果从根部推动了旧工具的淘汰,可供 iOS 开发者选择的选项实在有限,也才能有 Swift 的今天。

  如今依靠开源,新语言的崛起,也只是一个开始。面对这种趋势的崛起,C++ 之父 Bjarne Stroustrup 在一封电子邮件中评价道, 总是有新的语言试图成为 C++   的继承者。我欢迎对编程语言和编程风格的实验,但并不希望助长争论。批评已有的语言很容易,因为我们知道它们的问题所在,但通常很难在不产生语言规则、库和管理方面的全新问题的情况下提供替代品。Carbon 是如此之新,而且规范不足,我无法真正做出有意义的技术评论。

  虽然每款新诞生的编程语言势必有着自己的目标,但未来究竟会如何,我们也将拭目以待。

网站首页 苹果亚博体育下载安装 亚博体育客户端 服务与支持 亚博体育网址 案例展示 售后服务 联系我们 网站地图

首页

产品展示

拨打电话

联系我们
new WOW().init();