Kinal Logo
Kinal更干净的语法,更直接的原生控制

理念

为什么选择 Kinal?

编程语言繁多。这里解释为什么 Kinal 存在,以及它试图以不同方式解决哪些问题。

舒适与能力之间的鸿沟

C#、Java 和 Python 等高级语言提供了高效的语法、丰富的生态系统和出色的开发体验。但当你需要编写原生库、调用 C API、直接操作硬件或控制运行时本身时,这些语言会遇到瓶颈。

C、C++ 和 Rust 等系统语言提供了硬件访问能力。但语法变得密集,学习曲线变陡,简单的事情也需要花费比应有更多的精力。

Kinal 从一开始就被设计用来占据这两个极端之间的空间。

设计原则

1. 语法应该保持平静

无论你在编写 Web 处理程序、FFI 绑定还是内存分配器,代码看起来应该是可辨认且可读的。

2. 特性应当证明其价值

OOP、元数据、代码块、委托 — Kinal 中的每个特性都存在于解决真实代码库中的真实问题。

3. 一门语言,全栈覆盖

你不应该需要为 FFI 切换到 C、为构建脚本切换到其他工具、或为底层运行时工作切换到另一门语言。

4. 原生控制不是逃生舱口

FFI、指针操作和运行时 API 是 Kinal 中的一等公民,是语言设计的一部分。

Kinal 有何不同?

方面C / C++RustC# / JavaKinal
可读语法有限中等✓ 干净✓ 干净
原生编译仅 JIT✓ LLVM
FFI(调用 C)原生unsafe 块P/Invoke / JNI✓ 内置
OOP部分仅 Trait✓ 完整✓ 完整
元数据/反射有限宏
编译器自举尚未完全自举