From 1ac88f3241dc04b836d547f2c16d5564c07ce6c4 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 2 Oct 2026 00:50:08 +0800 Subject: [PATCH] =?UTF-8?q?docs(wiki):=20=E4=BF=AE=E6=AD=A3=E3=80=8CC/C++/?= =?UTF-8?q?Rust=20=E6=97=A0=E6=B3=95=E8=A1=A8=E8=BE=BE=E3=80=8D=E7=9A=84?= =?UTF-8?q?=E6=8E=AA=E8=BE=9E=EF=BC=8C18=20=E7=AB=A0=E8=A1=A5=E6=9C=AA?= =?UTF-8?q?=E6=9D=A5=E5=B1=95=E6=9C=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 02-type-system.md / 05-classes.md / 13-bootstrapping.md:把「C/C++/Rust 均无法 如此简洁表达」改为「当然可以表达,但是无法这样简洁」(这些语言当然能表达同样 的语义,只是写法远不如 Viper 简洁,原措辞容易被读成"做不到")。 - 18-flagship-project.md:新增「未来展望」章节——我们未来期望 Viper 在高并发、 底层、AI 场景、边缘(端侧)能够发光发热,并逐条给出已有基础。 --- 02-type-system.md | 2 +- 05-classes.md | 2 +- 13-bootstrapping.md | 2 +- 18-flagship-project.md | 11 +++++++++++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/02-type-system.md b/02-type-system.md index b6a050b..ca0f119 100644 --- a/02-type-system.md +++ b/02-type-system.md @@ -627,7 +627,7 @@ novirtual class GSList[T]: lst: GSList[GNode]* = &GSList[GNode]() ``` -泛型类还支持**递归泛型继承**(如 `class GNode(GSListNode[GNode])`),实现强类型自引用结构,无需 `void*` + 转型。这是 C/C++/Rust 均无法如此简洁表达的能力。 +泛型类还支持**递归泛型继承**(如 `class GNode(GSListNode[GNode])`),实现强类型自引用结构,无需 `void*` + 转型。这是 C/C++/Rust **当然可以表达,但是无法这样简洁**的能力。 泛型类的完整用法、递归继承、实例化示例见 [05-classes.md 的泛型类章节](05-classes.md#泛型类pep-695-语法)。 diff --git a/05-classes.md b/05-classes.md index cac7c0f..2a0bbbf 100644 --- a/05-classes.md +++ b/05-classes.md @@ -265,7 +265,7 @@ novirtual class GNode(GSListNode[GNode]): # 递归泛型继承 # 此时 GNode.Next: GNode* —— 强类型,零转型 ``` -这是 C(`void*` + cast)、C++(模板继承但无 `novirtual` 精细控制)、Rust(无继承,需 trait bound)均无法如此简洁表达的能力。 +这是 C(`void*` + cast)、C++(模板继承但无 `novirtual` 精细控制)、Rust(无继承,需 trait bound)**当然都可以表达,但是无法这样简洁**的能力。 ### 实例化 diff --git a/13-bootstrapping.md b/13-bootstrapping.md index eff02f0..9078d46 100644 --- a/13-bootstrapping.md +++ b/13-bootstrapping.md @@ -209,7 +209,7 @@ 以下能力已在 includes/ 库中验证,证明 TransPyC 能承载编译器复杂度: -- **复杂泛型容器**:`linkedlist.vp` 的递归泛型继承 `class GNode(GSListNode[GNode])`(C/C++/Rust 均无法如此简洁表达) +- **复杂泛型容器**:`linkedlist.vp` 的递归泛型继承 `class GNode(GSListNode[GNode])`(C/C++/Rust 当然可以表达,但是无法这样简洁) - **复杂算法**:`zlib/` 的完整 deflate/inflate/huffman(~1,900 LOC 生产级压缩) - **n 维数组**:`numpy/__init__.vp` 的 ndarray + 运算符重载 + `__new__` 堆分配 - **平台 FFI**:`w32/` 的 Win32 API 绑定(file/memory/process/sync/console) diff --git a/18-flagship-project.md b/18-flagship-project.md index 9f83c01..db856d3 100644 --- a/18-flagship-project.md +++ b/18-flagship-project.md @@ -272,3 +272,14 @@ app.exe --mode use --data-dir data --load models/mnist.bin --show 10 | 数值计算、SIMD 加速、Qt6 GUI、自定义训练循环 | ViperMNIST | > 这些工程是编译器最真实的回归面:任何一处语言/代码生成回退,通常都能在这里暴露出来。 + +--- + +## 未来展望 + +上面这些项目证明的是 Viper 的**当下**能力;我们对它的**期望**不止于此——**我们未来期望 Viper 在高并发、底层、AI 场景、边缘(端侧)能够发光发热**: + +- **高并发**:微内核调度、协程与进程模型已在 ViperOS 里跑通;无 `GC` 的确定性内存模型(`MemBuddy` 池 + 显式所有权)让延迟可预测,适合并发密集的场景。 +- **底层**:裸机、驱动、引导器、可自举的工具链都已用 Viper 自己写成,且不依赖任何运行时。 +- **AI 场景**:ViperMNIST 已经开了个头(用 Viper 做手写数字识别);强类型 + 零开销抽象适合把数值计算与算子直接编译到原生机器码。 +- **边缘(端侧)**:编译目标就是原生机器码、启动即运行、无解释器与运行时开销,适合资源受限的端侧设备。