The TypeScript compiler was rewritten in Go for performance gains, but it raises concerns about ecosystem disruption and maintainability.
While Go offers speed improvements, the existing TypeScript ecosystem's tooling and APIs may face challenges and potential obsolescence.
Choosing Rust over Go could have provided better long-term benefits, such as safety, extensibility, and ecosystem alignment.
Go's limitations in generics support, metaprogramming capabilities, and contributor friction are already noticeable in the TypeScript compiler's migration.
Community feedback indicates a preference for Rust due to its strengths in safety, performance, and familiarity within the TypeScript ecosystem.
The TypeScript team's decision to switch to Go poses risks in terms of long-term maintenance, developer experience, and community acceptance.
While Go excels in CLI performance, concerns arise regarding compatibility issues, such as changes affecting tools like ts-loader.
The move to Go challenges TypeScript's core development feedback loop, potentially widening the gap between building and using the language.
Critics highlight how TypeScript's pragmatic choice of Go may impact community momentum, contributor inclusivity, and ecosystem consistency.
Although Go offers speed benefits, the trade-offs in ecosystem disruption and the potential shift to Rust for compilers raise questions about true pragmatism.
While the Go choice enhances speed, the deeper costs of ecosystem integration and long-term limitations suggest that Rust might have been a more sustainable option for TypeScript's future.