
TypeScript Goes Go:What This Means for Web Developers
The Announcement and Performance Gains
Microsoft's TypeScript team revealed they're porting TypeScript to Go, resulting in performance improvements ranging from 9x to 13.5x faster on projects like VSCode, Playwright, and TypeORM. For developers working on larger codebases, this means:
- Build times reduced from minutes to seconds
- More responsive IDE experiences with quicker type checking
- Near-instant type error feedback while typing
Why Go and Not Rust?
The immediate question many developers (including myself) asked was: "Why Go instead of Rust?"
Ryan Cavanaugh, TypeScript's Dev Lead, explained on GitHub:
"We had two options: do a complete from-scratch rewrite in Rust which could take years and yield an incompatible version of TypeScript that no one could actually use, or just do a port to Go and get something usable in a year or so and have something that's extremely compatible in terms of semantics and extremely competitive in terms of performance."
This pragmatic decision prioritized compatibility and delivery timeline over the potential additional performance or safety benefits Rust might have offered.
My Perspective as a Rust Learner
I've been studying Rust because I've experienced how TypeScript's type system improves code quality, and Rust takes this philosophy further while eliminating entire classes of bugs:
- Memory safety without garbage collection
- Enforced error handling
- Prevention of data races in concurrent code
Unlike TypeScript (a JavaScript superset), Rust was designed from the ground up with these safety features. It's why projects like Sui blockchain choose Rust for reliability and performance.
Go's Position for Web Developers
This TypeScript announcement legitimizes Go for developer tooling in a compelling way. For web developers like me who occasionally build backends, Go presents an intriguing option with its gentler learning curve—potentially allowing productivity in a fraction of the time it takes with Rust.
JavaScript's historically slow evolution (remember the painful years of module system fragmentation?) continues to create opportunities for languages like Rust and Go to fill different niches:
- Rust for maximum safety and performance
- Go for simplicity and development speed
This announcement has me considering Go for backend work while continuing my Rust journey for WASM and blockchain development.
What do you think about TypeScript's move to Go? I'd love to hear your thoughts!
References
[1] Hellberg, Andrew. "A 10x Faster TypeScript." Microsoft TypeScript Blog, March 2025.
[2] Cavanaugh, Ryan. "Why Go over Rust." GitHub TypeScript-Go Repository, March 2025.