Gleam编程语言的初次介绍

Gleam 已达到 v0.1!快乐的第一个发布日 Gleam!

什么是闪光?

Gleam 是一种函数式编程语言,用于编写可维护和可扩展的并发系统。如果你喜欢 Erlang 和 Elixir 的基于 actor 的并发模型和持久运行时,以及 OCaml、ReasonML 或 Elm 的健全类型系统,那么我希望你会喜欢 Gleam。

它看起来像这样:

pub enum User =
  | LoggedIn(String)
  | Guest

pub fn check(user) {
  case user {
  | LoggedIn("Al") -> "Hi Al!"
  | LoggedIn(name) -> "Welcome back!"
  | Guest -> "Hello! Please log in"
  }
}

它是什么样的?

Gleam 支持泛型、代数数据类型、作为一等数据类型的模块和行类型映射,以实现灵活和宽松的功能接口。

类型系统旨在提供编译时安全性和轻松重构,而不会给程序员带来冗长的注释或样板文件。类型是完全推断的,尽管未来的版本将允许程序员在需要时添加可选的类型注释。

Gleam 编译为 Erlang 并在久经考验的 Erlang 虚拟机上运行,​​使其适合编写容错且相对容易推理的大规模并发系统。

Erlang 生态系统充满了出色的库、语言和应用程序,因此 Gleam 可以直接导入以其他 BEAM 语言编写的函数并在您的程序中使用它们。Gleam 还旨在成为一个好公民,因此任何用 Gleam 编写的库或应用程序都可以被任何其他 BEAM 语言使用,而无需大惊小怪或性能开销。

它是干什么用的?

由于其 Erlang 传统,Gleam 在低延迟、高并发、网络应用程序(如 Web 应用程序后端、数据库或消息代理)方面表现出色。Erlang 和 Elixir 也非常适合嵌入式应用程序,所以也许 Gleam 在那里也会有用。

Gleam 的类型系统使其在快速发展的问题空间中具有优势,因为它通过提供精确和有用的错误消息直到完全应用更改来帮助程序员快速安全地重构。

它不是为了什么?

它不在浏览器或移动设备上运行,也没有图形库,因此不适合 GUI 应用程序。它没有近乎即时的启动时间和本地二进制文件的简单分发,因此它不是命令行应用程序的最佳选择。它处理数字的速度并不快,因此您不会将其用于统计分析。

好吗?

是的,我想是这样。但是,如果我不这么说,那就太愚蠢了,不是吗?

也许还没有将它投入生产,但它对于宠物项目和玩具应用来说已经足够可用了。🚀

听起来不错。现在怎么办?

查看网站了解更多信息,并查看GitHub 上的项目。

如果您有任何问题或想参与进来,请加入 #gleam-langFreenode 上的 IRC 频道。

谢谢阅读!:)

分类: 默认 标签: 发布于: 2022-09-07 17:11:59, 点击数: