13岁初中生VibeCoding出的编程语言:Cavvy如何用「文档与测试」定义自己的Vibe
你有没有想过:编程语言不只是语法规则,更是一种个人Vibe?一个13岁的初中生,用AI辅助的方式,亲手打造了一门专属于自己的编程语言——Cavvy。它不是玩具,而是他用“文档驱动”+“测试驱动”真正定义出来的编程灵魂。
这篇文章带你走进Cavvy的世界,看看一个初中生如何把VibeCoding玩出高级感,让你的代码不再是随便写写,而是有章可循、有底线可守。
Cavvy是什么?一个13岁OIer亲手设计的面向对象编程语言
Cavvy(全称Cavvy Language)由作者dhjs0000(13岁,CSP-J二等奖选手,Ethernos Studio创始人)从零设计完成。目前版本是5.1.0-alpha.2,采用严格SemVer三位号。
它拥有自己的编译器管线(IR Builder Pipeline)、跨平台工具链(cayc编译器,已在Arch Linux成功移植),并正在推进自举计划(Cavvy N系列)。支持面向对象特性、外联C世界别名语法,甚至正在推CVPM(Cavvy包管理器/构建系统,类似CMake但专属Cavvy生态)。
简单说,这不是别人复制的语言,而是一个完全属于他的Vibe编程语言——语法优雅、语义清晰、设计哲学鲜明。
VibeCoding到底是什么?为什么13岁也能玩出“有锚点的Vibe”?
VibeCoding(氛围编程)不是随便让AI写代码那么简单。它是用自然语言描述需求,让AI生成代码,你只负责把关和迭代。
对普通人来说门槛极低:会说人话就行。作者dhjs0000用VibeCoding一个人推进复杂编译器管线,速度快到让人惊叹。
但他强调:没有文档和测试的Vibe,就是失控的噪音。这才是Cavvy的核心——用“有锚点的Vibe”定义自己的编程风格。
文档驱动功能:Vibe之前,先写文档,让AI和未来自己都有章可循
作者的铁律1:先写文档,文档驱动实现。
在写Cavvy的每一行编译器代码之前,他都会先完成:
– Markdown语言规范(语法、语义、类型系统规则)
– JSON接口契约(IR Builder输入输出格式)
– 版本迁移文档(每个breaking change都有文档背书)
“先写文档,文档驱动实现” —— 这不是口号,而是Cavvy commit历史真实存在的workflow。
用例子举栗:你想加一个新功能?先更新Language Spec,再让AI辅助生成Parser,再到IR Builder、CodeGen,整个过程AI读的都是你写好的文档,而不是拍脑袋的口述。
效果超级明显:即使深夜一个人Vibe,也不会写出脱离语言哲学的野功能。文档即代码的“合同”,让你的项目活得更长远。
测试驱动开发:Commit之前,测试必须绿,让Vibe有底线而不是隐患
作者的铁律2:测试驱动开发(TDD,但Vibe版)。
传统TDD是红-绿-重构。Cavvy的Vibe TDD是:哪怕Alpha版本,也必须100%绿。
仓库里每个vibe出来的功能,在merge前必须通过:
– 单元测试(词法/语法/语义分析器)
– 集成测试(端到端编译+执行验证)
– 回归测试(旧版本代码在新编译器上的行为一致性)
如果测试挂了,哪怕代码再酷,也不允许进主分支。
这就是Cavvy的Vibe:自由创作必须建立在可信基座上。速度有了,方向不会偏。
实际效果:Cavvy支持的几个“能跑的Vibe”
作者分享了一些Cavvy能实现的例子:
// extern alias 语法:优雅绑定C世界
alias SortFn = fn(c_void*, size_t, size_t, CompareFn) -> c_void;
编译器管线全貌:
Cavvy Source → Parser → AST → IR Builder → LLVM IR → Native Code
文档与测试在这里锁住质量。甚至自举版本Cavvy N4.8,也是先写好自举架构文档,才动手改编译器逻辑。
这些小“Vibe”拼成了一个完整、稳定的语言系统。
为什么坚持文档和测试?13岁的工程观
有人问:初中生写语言,图的不就是好玩、酷、能跑demo吗?为什么非要加文档和测试的“枷锁”?
作者的回答很Vibe:
因为我想让Cavvy活过明天的commit。
一个没有文档的语言,作者自己三周后就忘了当初为什么设计。
一个没有测试的编译器,每次加新功能都是薛定谔的崩溃。
VibeCoding给了速度(AI辅助一人推进复杂管线),文档和测试给了方向(确保速度不带向悬崖)。
这可能是13岁和30岁开发者唯一的共识:好代码的感觉是一样的,只是年轻人更愿意承认自己在“凭感觉”。
开源与社区:Cavvy的Vibe正在被更多人继承
Cavvy是开源的:
– GitHub:cavvy-lang/cavvy(及cayc跨平台编译器)
– 官网:cavvy.ethernos.net
– 组织:Ethernos Studio
作者甚至为Cavvy设计了二次元看板娘——是的,这也是Vibe的一部分 🤘
结语:定义你自己的Vibe,Cavvy还在继续进化
VibeCoding不是反工程化,它是一种更诚实的开发姿态:承认直觉、承认AI辅助、承认创作时的流动性。
但如果你想让项目不止于周末demo,强烈建议你也试试作者的配方:
- Vibe之前,先写文档 —— 让AI和你的未来自己都有章可循。
- Commit之前,测试必须绿 —— 让Vibe有底线,而不是有隐患。
Cavvy还在继续进化中。自举计划、CVPM、更多OOP特性都在路上。
如果你也是用VibeCoding做严肃项目的开发者,欢迎在评论区聊聊:你的Vibe,有锚点吗?
作者:dhjs0000,13岁,CSP-J二等奖选手,Ethernos Studio创始人。相信文档与测试是编程语言最浪漫的语法糖。