打开编辑器只想修一个小毛病,结果莫名其妙又开了个新项目——这种体验,大概只有"不正经程序员"最懂。有人干脆为这类人造了一门语言,名字叫 Jam,定位很明确:给周末实验、小工具和一时兴起的小项目用。
打开网易新闻 查看精彩图片
它长这样:定义一个 main 函数,列一个计划清单,往里追加一条"再开一个副业项目",然后循环打印出来。存成 plans.jam,运行 jam run plans.jam 就能跑。也可以用 jam build plans.jam -o plans 编译出原生可执行文件,即便机器上没装 Jam 也能直接运行。
功能清单不算寒酸:
- 基于缩进的语法,静态类型,局部变量类型可推断;
- 自动垃圾回收;
- 结构体、枚举、模式匹配和模块;
- 内置文件操作、协作式任务,以及一个小型 HTTP 服务器。
更值得一说的是实现方式:编译器和运行时都是用 Jam 自己写的。它输出 LLVM IR,再借 Clang 构建原生可执行文件。让它能编译自己,被作者称为这个项目里挺有意思的一部分。
当然,它仍是实验性的——语法和 API 都可能变。看起来像 Python,不代表能跑 Python 的包。目前从源码构建需要支持 LLVM IR 的 Clang,项目为 macOS arm64 和 Linux x86_64/aarch64 提供了引导种子。
作者说得很直白:主要就是想要个能瞎折腾、做点小而傻的东西的地方。代码、示例和安装说明都在 GitHub 上,采用 MIT 许可。它还配了个叫 Jammie 的果酱罐吉祥物——按作者的说法,这显然是门语言必不可少的核心功能。
热门跟贴