Zn – 面向业务的编程语言
GitHub 传送门:reg0007/Zn
写在前面
去年入职了一家新公司,负责的是一个行业的具体业务。入职没多久便遇到了命名问题:很多业务相关的名词都是用中文表述的,翻译成对应的英文相当困难。好不容易各种翻箱倒柜找到了对应的翻译命名,结果 review 同事的代码时直接晕倒:同一个中文名词在不同人手里有着 3 种完全不同的名字!
自此之后我便思考:业务代码说到底就是 CRUD,又不需要开源给老外看,为何不直接用中文命名呢?而目前大部分编程语言(如 Go, Python, JS 等)都是基于英文设计,直接使用中文命名必然会导致频繁地切换输入法,最终写出来的代码也不够协调;所以最后决定自己设计一门纯粹面向业务的编程语言吧!于是我就花了大约一年的时间去开发Zn。
目前
Zn的基本语法已经实现(见后面的图),但是距离一门真正可用的语言还有一段距离,所以目测会有些 bug,还请多多详解。
简介
Zn 是一门 面向业务 的编程语言。
所谓「面向业务」,即是为用户开发业务代码时提供便利,使得用户能够快速根据真实需求投射出简洁、稳定、可维护的代码。Zn 在设计之初即强调「以人为本」,希望程序能够适应真实世界的需求而不是让开发者去适应代码逻辑。
为此,Zn 拥有以下独特的特性:
-
采用 中文关键词及标点符号。这样再也不用为「用英文命名变量」之事发愁了。
-
默认使用 高精度小数 作为数值并参与运算,杜绝因浮点数计算所带来的计算误差。
这一点对开发金融应用尤为关键。显然,诸如 0.1 + 0.2 = 0.30000000000000004 这样的结果在金融应用中是无法忍受的。
-
贴近汉语本身语法,阅读代码可以像阅读文章一样自然。
-
关键词之间不必用空格分隔。
Zn 语言采用 Go 开发。之所以选用它是因为它在开发效率以及运行效率间取得了平衡,而且里面内置的函数库也帮助省去了很多开发上的障碍(比如 高精度运算使用 math/big 库,里面直接使用 Go 自己的 GC 等);之后将 Zn 内嵌到已有的 Go 项目里也会变得十分简单。
详细见 GitHub
代码预览

求解鸡兔同笼问题
流程控制代码:循环、遍历、如果

调用方法

定义一个类,并调用其方法