V 语言评测(2023)
V 是一门年轻的系统编程语言,曾将自己宣传为比 C、Go 和 Rust 更安全、更简单的替代品,如今因过度承诺一些要么无法工作、要么尚未完成的功能而再次受到审视。评论者指出其在内存管理、协程和工具链方面存在技术缺口,同时还指责项目的文档和营销模糊了当前能力与未来目标之间的界限。尽管少数用户报告了正面体验,并呼吁对一个由志愿者驱动的 beta 项目保持宽容,但更多人认为反复失信和敌意式审核已经足以让人把 V 排除在严肃用途之外。
项目历史与主张
- 评论者回忆起长期存在的争议:大胆承诺(简单、快速、安全的“更好的 C”,融合多种语言的优点,新的内存模型)以及一再低于预期的交付。
- 据称,一些功能和副项目(UI 工具包、浏览器、操作系统、Git 托管、“autofree” 内存、绿色线程)都曾以激进时间表宣布,随后延期或根本没有成形。
- 一些人认为文档和网站是“充满雄心的销售式宣传”,没有清楚标明 WIP 功能,因此具有误导性。另一些人则将其视为一个小团队在早期阶段过度热情的营销。
V 的技术现状
- 多位用户表示很快就遇到编译器 bug,发现该语言无法用于严肃工作。
- 复述自评测中的具体批评包括:
- “autofree” 有问题;arena / prealloc 是全局的,会泄漏,而且不线程安全。
- 协程确实存在,但 IO 调用会阻塞其他协程,因此很多人说它们实际上“不能用”。
- 生成的二进制很大;文档不完整且难以浏览。
- 辩护者指出:
- 网站把 V 标为 beta;文档说明 autofree 仍是 WIP,并建议使用(Boehm)GC。
- 对于一个主要依靠志愿者完成的项目来说,哪怕比较粗糙,至少拥有一个可工作的编译器、GC 集成和工具链,也已经相当令人印象深刻。
- 争议的核心在于,内存管理和协程究竟算“已经实现但不成熟”,还是“实际上并没有工作”。
社区与审核
- 多个轶事描述了因轻微批评而被封禁或遭遇敌意回应(例如推荐 Go、发布批评链接),以及版主侮辱批评者。
- 也有人反驳,称该项目长期遭受大量不合理攻击,并认为对批评保留一定隔离是可以理解的。
- 围绕社区究竟是异常有毒且防御性强,还是只是遭到群起围攻,存在争论。
对比与采用信号
- V 经常被拿来与 Zig、Odin、C3、Nim、Go、Rust 对比:
- Zig 和 Nim 被视为真实存在但并不完美的替代方案;批评者则常把 V 称为“空想产品”。
- 一些用户确实喜欢 V 的语法、简洁性、性能以及与 C 的互操作性,适合小型个人项目,同时也承认它还不适合生产环境。
- GitHub stars(35k+)被认为具有误导性;贡献者数量和 issues 才是更可靠的成熟度信号。有人提出指标可能被人为抬高的怀疑,但仍不明确。
语气、愤怒与更广泛的反思
- 许多人认为这篇评测很有价值,因为它记录了落空的承诺,并帮别人节省时间。
- 也有人批评其带有很强的个人化、指控式语气,认为这是围绕 V 的更大范围“有毒反馈循环”的一部分。
- 一些评论认为,这种异常强烈的愤怒源于幻灭:人们曾希望 V 的宏大愿景能够成真,而围绕这些愿景的不诚实感尤其令人恼火。