云时代编程语言 Ballerina 发布:轻松创建跨分布式端的弹性服务

OPEN编辑 4年前

  适用于云时代的编程语言 Ballerina 近日发布了 1.0 版本。

  Ballerina 是一种编程语言和平台,它的目标是让创建跨分布式端的弹性服务变得更轻松。Ballerina 使用分布式系统原语的编译时抽象,这为数据转换提供了类型安全性,编译器可以生成诸如用于将应用部署到 Docker 和 Kubernetes 的 API 网关等构件。

  此外,Ballerina 还定义了一系列关键词来表示集成概念,比如网络端点、服务、流 SQL 以及 table、json 和 xml 原始类型等,IDE 等工具可以基于这些语法元素从任意的 Ballerina 代码生成时序图。

  具体看一看官方的特性介绍:

  静态类型是网络应用开发者的开发难题,Ballerina 的静态类型结构类型系统旨在使网络数据模式友好,允许开发者编写符合健壮性原则的代码,即发送的内容要谨慎,可接受的内容要足够自由。

  时序图用于描述分布式和并发程序的工作方式,Ballerina 中,每个程序都是一个时序图,可以自动说明分布式和并发交互。

  在云时代,运行程序不再仅仅是编译和执行的问题,而是编译、构建镜像、推送镜像、配置容器编排以及最终运行。Ballerina 将整个程序执行过程简化,并使用可扩展的元数据编译成适用于所有主要云平台的可运行程序。

  几十年来,编程语言简单地将网络视为 I/O 源,Ballerina 引入了最基本的客户端对象、服务、资源函数和监听器的新抽象,以将网络引入该语言,这样可以让开发者直接将分布式计算中可能出现的错误作为其应用逻辑的一部分来解决。这有助于开发弹性、安全,并且高性能的网络应用。

  根据官网介绍,Ballerina 的创造受到许多其它编程语言与工具的启发,包括:Java、Go、C、C++、D、Rust、Haskell、Kotlin、Dart、TypeScript、JavaScript、Python、Perl、Flow、Swift、Elm、RelaxNG、NPM、Crates、Maven、Gradle、Kubernetes、Docker、Envoy、Markdown、GitHub 与 WSO2。