我构建了一个能说 8 种人类语言的编程语言
Source: Dev.to
问题
45 亿人并不流利使用英语。然而,每一种主流编程语言——Python、JavaScript、Java——都要求你在写下第一行代码之前先学习英语关键字。对于生活在圣保罗、孟买或北京的 12 岁孩子来说,if、while、function 都是陌生的词汇。他们必须先学会一种新的人类语言,才能学习计算思维。
Zuse:一种多语言编程语言
Zuse 让你使用母语编程。相同的程序用四种语言编写后,会编译成完全相同的抽象语法树(AST),并且可以转译为 Python、JavaScript、Java、C# 或 WebAssembly。
示例程序
德语
WENN alter >= 18 DANN
AUSGABE "Willkommen!"
ENDE WENN英语
IF age >= 18 THEN
PRINT "Welcome!"
END IF印地语
अगर उम्र >= 18 तो
दिखाओ "स्वागत है!"
अंत अगर中文
如果 年龄 >= 18 则
输出 "欢迎!"
结束 如果所有四个版本产生相同的规范抽象语法树(AST)。
架构
8 Human Languages → Lexer → Canonical AST → 5 Backends关键字从外部 JSON 配置文件加载,因此解析器和解释器只会看到规范化的 token。添加新语言实际上只需新增一个 JSON 文件。
添加新语言(示例:hindi.json)
{
"KW_WENN": "अगर",
"KW_DANN": "तो",
"KW_SONST": "वरना",
"KW_AUSGABE": "दिखाओ"
}特性
- 完整面向对象 – 类、继承、多态
- 错误处理 –
try/catch - Lambda 函数 – 匿名函数
- 2D 游戏引擎 – 精灵、碰撞检测、60 fps 游戏循环
- 海龟绘图 – 绘制分形和星形
- IDE – 语法高亮、带断点的调试器
- LSP 服务器 – VS Code 集成
- 包管理器 – 安装和分享 Zuse 包
- 1086+ 自动化测试
与 Python 的互操作性
因为 Zuse 基于 Python 运行,你可以导入任何 Python 库:
BENUTZE pandas ALS pd
daten = pd.read_csv("data.csv")
AUSGABE daten.describe()学生可以使用 AUSGABE 和 SCHLEIFE 学习编程,同一天就能用 pandas 分析真实数据或用 matplotlib 绘制图表。
灵感与哲学
名称来源于 Konrad Zuse,他在 1941 年构建了 Z3——世界上第一台功能完整的可编程计算机,并设计了 Plankalkül,第一种高级编程语言。他的简约哲学指引了本项目:
“Because ‘simple’ is simply simple.”
项目信息
- GitHub:
- License: GPL v3
- 当前支持的语言: 德语 🇩🇪、英语 🇬🇧、西班牙语 🇪🇸、法语 🇫🇷、意大利语 🇮🇹、葡萄牙语 🇵🇹、印地语 🇮🇳、中文 🇨🇳
征求反馈
我期待你的反馈。我们接下来应该加入哪种语言? 🌍