所有编程语言差不多都有一个提效价值,面向云原生的 IaC 基础设施代码化,设计新的配置编程语言同样是为了提效。提效的是最终目标,由此衍生出安全、代码复用等,简单来说就是希望通过编程语言领域的成熟理论来解决传统配置文件的安全和代码复用问题。比如社区诞生的 CUE、Jsonnet 等领域语言都是类似。具体到配置场景,比如一个复杂基础设施的配置的不同地方分由不同的团队维护,如何自动合并相同的配置、如何检查出不相融的配置,这些都是编程语言面临的常见问题。KCL 配置语言的诞生背景也是如此。
另,如果对国产语言感兴趣可以关注下:https://github.com/chai2010/china-programming-languages
👍,ugo 目录会提供一个最终版本的实现,但是目前还在初级阶段。examples 下每个 ch 子目录,可以看作是 ugo 中间实现过程中更不完整的版本。目前只是空闲时间边实现边完善内容,进度可能比较慢,也欢迎 PR
ugo 还在完善中,目前只能输出 file.ugo 的语法树,不能执行。内容也可能有变动导致代码不能跑,建议每个 ch 的例子独立运行