Show HN:Han——用 Rust 编写的韩语编程语言
近日,一位开发者受 AI 快速重写代码的启发,推出了 Han(한)——一门用 Rust 编写的、关键词全为韩语的通用编译型编程语言。这不仅是一次技术实验,更触及了编程语言多样性与文化表达的深层议题。
灵感来源:AI 加速下的语言构建
项目的诞生颇具故事性。几周前,开发者看到一篇关于用 AI 在两周内将整个 C++ 代码库迁移到 Rust 的帖子。这激发了他的思考:既然 AI 能如此高效地重写语言栈,何不尝试在 AI 辅助下从头构建一门新语言?于是,Han 应运而生。
开发者观察到,当前主流编程语言几乎清一色使用英语关键词,这无形中为全球非英语母语者设置了门槛。Han 的核心理念正是打破这一现状,证明编程不必在每个国家都“长一个样”。
Han 是什么?
Han 是一门静态类型、编译型的通用编程语言,其最大特色是所有关键词均使用韩语(基于韩文字母 Hangul 书写)。它通过 LLVM IR 编译为原生二进制文件,并附带一个树遍历解释器,支持即时执行。整个编译器工具链完全用 Rust 实现。
开发者特别强调,Hangul(韩文)是人类历史上最科学设计的文字系统之一,Han 将其提升为一等公民的编程语言元素,而不仅仅是显示字符串。
核心特性一览
- 韩语关键词与标识符:使用
함수(函数)、만약(如果)、반복(循环)、변수(变量)等韩语关键词编写逻辑,变量和函数名也可直接用韩文命名。 - 双模式执行:既可通过 LLVM IR 编译为原生二进制(依赖 clang),也可通过解释器直接运行,还提供 REPL 交互环境。
- 现代语言特性:
- 静态类型系统,支持
정수(int)、실수(float)、문자열(string)、불(bool)、없음(void)五种基本类型。 - 数组(支持负索引及
.추가/.삭제/.정렬等方法)、结构体、闭包、模式匹配(맞춰)。 - 错误处理(
시도/실패)、文件 I/O、格式化字符串、字符串方法、模块导入(가져오기)及泛型语法。
- 静态类型系统,支持
- 开发工具支持:内置 LSP 服务器,为编辑器提供悬停文档和代码补全。
快速体验
创建一个 hello.hgl 文件:
출력("안녕하세요, 세계!")
运行命令 hgl interpret hello.hgl,即可输出“안녕하세요, 세계!”(你好,世界!)。或直接进入 REPL:hgl repl,交互式执行韩语代码。
示例:词频统计与字符串计算器
项目文档提供了两个实用示例,展示 Han 的实际编码风格:
- 词频统计程序:用韩语关键词实现文本分词、计数与输出,逻辑清晰,接近自然语言表达。
- 字符串计算器:利用
맞춰(匹配)处理四则运算,包含除零错误检查,体现了 Han 的流程控制能力。
行业背景与意义
在 AI 代码生成工具(如 GitHub Copilot、Claude Code)日益普及的当下,Han 的出现恰逢其时。它揭示了两个趋势:
- AI 降低语言开发门槛:传统上,构建一门新编程语言需深厚编译原理知识,耗时数年。如今,AI 辅助可能将周期缩短至几周,让更多“小众”或文化特定语言实验成为可能。
- 编程语言多元化探索:全球数十亿非英语母语开发者中,许多人更习惯用母语思考逻辑。Han 这类语言虽未必取代主流,但为教育、本土化工具或文化项目提供了新选项,挑战了英语在编程领域的绝对主导地位。
挑战与前景
Han 目前仍处早期阶段,其生态建设、性能优化及社区接纳度面临考验。然而,它象征的意义大于实用:在技术全球化浪潮中,保留并提升语言多样性,或许能激发更多创新。
未来,若结合 AI 实时翻译或跨语言互操作,这类“本土关键词语言”甚至可能成为多语言团队协作的桥梁。Han 的诞生,不仅是一次酷炫的 Hack,更是对“编程应为何人所用”的深刻提问。