把 TypeScript 编译成 Go 语言来白嫖 goroutin
TypeScript 确实好写,但 JavaScript 的异步模型在处理高并发时总让人觉得差点意思,而 Go 的 goroutines 简直是并发处理的神迹。如果能让 TS 直接拥有 Go 的这种并发能力,那开发体验绝对起飞。
我最近在思考一个比较激进的实操路径:与其去死磕 V8 引擎或者从零写一个编译器,不如直接从 Go 编译器的 Parser 入手。具体的实现逻辑可以分两步走:
一、先开发一个极其精准的 TypeScript 到 Go 的转译器(Transpiler),把 TS 的语法映射到 Go 的表达方式上。
二、在转译器跑通后,直接修改 Go 编译器的内部解析器,让它能原生识别 TS 语法并将其转换为 Go 编译器的结构化表示(Internal Representation)。
这样一来,TS 理论上就能直接编译成原生的 Go 二进制文件,直接继承 Go 的调度机制和性能。而且如果顺便把切片(slice)语法优化好,用 TS 做 AI 相关的数据处理也会方便得多。
当然,现在有个很现实的矛盾。现在大家都在卷 Rust + WebAssembly,而且有 Claude Code 这种 AI 工具在,代码怎么写已经不那么关键了,关键是运行时的效率。但即便如此,把 TS 的灵活性和 Go 的并发能力结合起来,依然是一个非常有吸引力的技术方向。
目前这个方案最大的挑战在于对 Go 编译器底层结构的深度定制,这比写一个简单的转译插件要硬核得多。
事件追踪 · 相关报道
mcp-use v2 实战:基于无状态 MCP 协议的性能飞跃
3天前
Alcatraz: 纯 Go 实现的 PII 检测
5天前
Wyro:画布画后端,导出纯TypeScript代码,想走就走
8天前
Aurora:一个Go写的15MB AI网关
8天前
做了一年的视频下载器,开源后我决定放弃:产品不是一切
9天前