TypeScript is going Go: Why it’s the pragmatic choice
Blog post from LogRocket
TypeScript's transition to Go, tagged as "TypeScript 7," aims to enhance performance by rewriting the compiler and language services in Go instead of TypeScript itself. This change responds to a growing demand for faster development tools within the JavaScript ecosystem, where other languages like Rust and Zig have already been adopted for similar purposes. The switch to Go promises significant speed improvements, particularly for Visual Studio Code users and builds, allowing for a more responsive development environment. Although this shift raises concerns about the TypeScript team's reduced use of the language for dogfooding and its potential impact on their involvement with JavaScript's evolution through TC39, the team's strong community ties suggest ongoing feedback and influence. While the choice of Go over other languages like Rust or C# might seem unexpected, it aligns with TypeScript's pragmatic ethos. The port is anticipated to transform certain internal APIs, impacting tools that rely on them, but ultimately, the move is seen as a necessary step to meet modern performance expectations, with the TypeScript team's approach instilling confidence in the transition.