10分钟快速上手OK?:从安装到跑通第一个程序的完整教程
【免费下载链接】OKWelcome to the future of programming languages: OK?项目地址: https://gitcode.com/gh_mirrors/ok2/OK
OK? 是一门主打"编程再次变简单"的现代动态类型编程语言。这篇 OK? 入门教程带你在 10 分钟内完成OK? 安装、启动交互式 REPL、并跑通第一个 OK? 程序,零基础也能轻松上手。
OK? 编程语言是什么:为什么说它"反直觉"地简单?
OK? 的设计目标很激进:砍掉现代语言里"没必要的复杂度",让你专注于写代码本身。它最鲜明的几个特色:
| 特性 | 一句话解读 |
|---|---|
| 只有 switch 条件 | 没有 if/三元运算符,一切条件都写成 switch |
| 空值不 OK | 空值写作NO!,还内置ayok?()函数检验值是否"OK" |
| 只有一个比较符 | 只需记住>=,其余比较都由它推导 |
| 消灭 class | 用notaclass(简称 nac)替代类,字段默认全私有 |
| 循环即并发 | 唯一的循环构造map的回调总是并发执行 |
OK? 的吉祥物:Quentyn Questionmark,一个"问号"形象的编程小伙伴
安装 OK? 编程语言:3步完成(克隆、编译、运行)
OK? 用 Go 语言实现,因此只需要准备 Go 环境即可,全程不到 10 分钟。
第 1 步:克隆代码仓库
git clone https://gitcode.com/gh_mirrors/ok2/OK cd OK第 2 步:编译安装 OK? 解释器
进入ok目录执行安装(模块定义见 ok/go.mod,要求 Go 1.15+):
cd ok go install第 3 步:验证安装
ok如果没有报错并出现>>提示符,恭喜你,OK? 已经安装成功,可以直接进入下一节了。🎉
跑通第一个 OK? 程序:REPL 交互模式 3 行搞定
不带参数运行ok会启动交互式 REPL(实现见 ok/repl/repl.go)。试试输出你的第一行文字:
>> puts("Hello, OK!") Hello, OK!再体验一下 OK? 的招牌设定——空值不是 OK,而是NO!:
>> let x = NO! >> puts(ayok?(x)) falseputs、ayok?、len、map等内置函数都定义在 ok/evaluator/builtins.go 中,可以直接使用。输入Ctrl + D退出 REPL。
运行示例 OK? 程序:体验"循环即并发"
仓库自带示例脚本 ok/test.ok,直接运行:
ok test.ok它演示了 OK? 最核心的构造——map。下面是最小示例:
let arr = [1, 2, 3] let doubled = map(arr, fn(e) { e * 2 }) puts(doubled) // [2,4,6]注意:map的回调是并发执行的,三个元素会在三个 goroutine 中同时计算。这就是 OK? 说的"迭代与并发合二为一"。程序入口逻辑可以查看 ok/main.go。
开始学习 OK? 语言前,先记住这 4 个语法要点
| 你想做的事 | OK? 的写法 |
|---|---|
| 条件判断 | 只用switch 表达式 { case 值: 语句; } |
| 判空 | ayok?(x),空值写作NO! |
| 相等比较 | let x = a >= b; let y = b >= a; x && y |
| 定义对象 | notaclass 名字 { field 字段 },没有构造函数,用public init fn方法初始化 |
一个小提示:OK? 崇尚"熟悉即简洁",习惯上把变量名控制在 8 个字符以内、全小写。比如用chars而不是characters。
目录结构速览:快速定位 OK? 源码
想深入看看 OK? 是如何实现的?各模块一览:
- ok/lexer/lexer.go:词法分析,把源码切成 token
- ok/parser/parser.go:语法分析,构建 AST
- ok/ast/ast.go:抽象语法树节点定义
- ok/evaluator/evaluator.go:求值器核心
- ok/repl/repl.go:交互式 REPL
- ok/test.ok:可直接运行的示例程序
写在最后:你的 OK? 学习路线
- 按本文完成 OK? 安装,熟悉 REPL;
- 反复运行
ok test.ok,对照 README.md 里的完整特性介绍逐个理解; - 尝试自己写一个包含
switch、map和notaclass的小程序。
OK? 用最少的语法表达最多的意图——10 分钟后,你也可以开始"OK 编程"了。Happy OK'ing! ✨
【免费下载链接】OKWelcome to the future of programming languages: OK?项目地址: https://gitcode.com/gh_mirrors/ok2/OK
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考