Neowin 写道,周二,微软“宣布了一项将从根本上提高 TypeScript 性能的新变化,让所有人感到惊讶”——将 TypeScript 移植到 Go。 InfoWorld 写道,“微软表示,该计划有望显着提高编辑器启动速度、构建时间和内存使用量,从而更容易将 TypeScript 扩展到大型代码库。”微软的 TypeScript 团队预计到 2025 年中期能够在基于 Go 的 tsc 中预览命令行类型检查,并在年底之前提供功能完整的 TypeScript Go 实现。 [您现在可以从微软的新工作存储库构建和运行 Go 代码。]微软表示,在 Visual Studio Code 编辑器中使用基于 Go 的 TypeScript 的开发人员将感受到编辑器速度的提高。该公司承诺将项目加载时间缩短 8 倍,提供整个项目的即时综合错误列表,并提高所有语言服务操作的响应速度,包括完成列表、快速信息、转到定义和查找所有引用。该公司表示,新的 TypeScript 还将支持更高级的重构和更深入的见解,而这些之前的计算成本太高。 Neowin 指出,微软认为原生 Go 实现可将构建时间缩短多达 10 倍。但“开发人员可以预期 TypeScript 6.0 会有一些弃用和重大更改,以支持即将推出的基于 Go 的版本。”今年晚些时候,微软将发布这个新的原生 Go 实现,即 TypeScript 7.0。当前基于 JS 的 TypeScript 代码库将继续开发到 6.x 系列,直到 TypeScript 7+ 达到足够的成熟度和采用率,因为某些项目可能依赖于某些 API 功能、遗留配置或 TypeScript 7+ 不支持的其他内容。 TypeScript 的原创者 Anders Hejlsberg 录制了一段公告视频,还在 GitHub 的讨论中分享了他的想法,标题很简单……“Why Go?” TypeScript 编译器向 Go 的迁移受到特定技术要求的影响,例如需要与现有的基于 JavaScript 的代码库结构兼容、易于内存管理以及有效处理复杂图形处理的能力。在评估了多种语言并制作了多种原型(包括 C# 语言)之后,Go 成为了最佳选择……让我们面对现实吧。在过去的几年里,微软使用 Go 为 TypeScript 编写编译器是不可能或不可想象的。然而,在过去的几十年里,我们看到了微软对开源软件坚定而持续的承诺,将开发人员的生产力和社区协作放在首位。我们的目标是为开发人员提供最好的可用工具,不受内部政治或狭隘限制的阻碍。这种为每项特定工作选择正确工具的自由最终有利于整个开发者社区,推动创新、提高效率并改善成果。而且您无法否认 10 倍的结果! Hejlsberg 还在密歇根 TypeScript 聚会的在线采访中谈到了他们对 Go 的选择。
在 Slashdot 上阅读这个故事的更多内容。