C#, Typescript, GO and the compiler clash

https://raw.githubusercontent.com/rodrigoffinger/rodrigoffinger.github.io/master/images/typescript-compiler-go.png

The Controversy

Microsoft’s decision to port the TypeScript compiler to Go has sparked significant debate within the development community. Traditionally, Microsoft’s internal projects have favored C#, a language they developed and extensively promote. The choice to use Go instead has led to discussions about the reasons behind this decision and its implications for the .NET ecosystem.​

Choosing the Right Tool for the Job

While C# is a powerful language, the selection of Go for the TypeScript compiler rewrite was based on specific technical considerations:​

  • Performance: Go is known for its efficient concurrency model and fast compilation times, which align with the project’s goals of enhancing performance.​

  • Portability: Go produces standalone binaries, simplifying deployment across different platforms without relying on a runtime environment.​

  • Simplicity: Go’s straightforward syntax and tooling can lead to reduced complexity in the compiler’s codebase.​

What Do You Think?

Microsoft’s decision to use Go for the TypeScript compiler rewrite reflects a pragmatic approach to selecting the most suitable technology for the task. By focusing on the project’s specific requirements, they aim to deliver a more efficient and robust tool for developers.​

What are your thoughts on this choice? Do you believe Go was the right language for this project, or should Microsoft have considered C# or another language? Share your opinions in the comments below.​

For a deeper insight into this transition, you might find this interview with Anders Hejlsberg informative:​

A 10x faster TypeScript

Written on March 17, 2025