第 1 课
15 分钟
Docs 0.94.0-alpha.1 (Draft)
RCL 为什么存在
学习目标:说明 RCL 与通用编程语言解决的问题不同。
现实变化
候选现实
提交条件
一个真实场景
一段脚本可以把某个文件里的数字从 100 改成 0。这在计算意义上完全成功。 但在现实意义上,我们真正关心的是另一组问题:
- 这个数字代表什么对象?
- 谁有权把它改成 0?
- 改动是否可逆?
- 有没有证据证明改动被批准过?
- 如果执行失败,现实处于哪种状态?
通用编程语言主要描述计算机怎样执行计算。这些问题它不负责回答。
RCL 的定位
RCL(Reality Compiler Language,现实编译语言)进一步描述:
一个现实状态变化涉及什么对象、主体、约束、权限、证据、风险、执行者和提交条件。
明确的能力边界
RCL 不会自己改变外部世界。它不发邮件、不改数据库、不部署服务。 所有外部效果都必须交给声明过的 Provider 执行,RCL 负责的是这次变化有没有资格被提交。
把 RCL 当作"一句话改变现实"的魔法语言,是对它最常见的误解。
理解检查
以下哪一项最准确地描述 RCL 的职责?