There's also an interesting but buried reply from Hejlsberg in there: Our decision to port to Go underscores our commitment to pragmatic engineering choices. Our focus was on achieving the best possible result regardless of the language used. At Microsoft, we leverage multiple programming languages including C#, Go, Java, Rust, C++, TypeScript, and others, each chosen carefully based on technical suitability and team productivity. In fact, C# still happens to be the most popular language internally, by far. The TypeScript compiler's move to Go was influenced by specific technical requirements, such as the need for structural compatibility with the existing JavaScript-based codebase, ease of memory management, and the ability to handle complex graph processing efficiently. After evaluating numerous languages and making multiple prototypes — including in C# — Go emerged as the optimal choice, providing excellent ergonomics for tree traversal, ease of memory allocation, and a code structure that closely mirrors the existing compiler, enabling easier maintenance and compatibility. In a green field, this would have been a totally different conversation. But this was not a green field - it's a port of an existing codebase with 100 man-years of investment. Yes, we could have redesigned the compiler in C# from scratch, and it would have worked. In fact, C#'s own compiler, Roslyn, is written in C# and bootstraps itself. But this wasn't a compiler redesign, and the TypeScript to Go move was far more automatable and more one-to-one in its mapping. Our existing codebase is all functions and data structures - no classes. Idiomatic Go looked just like our existing codebase so the port was greatly simplified. While this decision was well-suited to TypeScript’s specific situation, it does not diminish our deep and ongoing investment in C# and .NET. A majority of Microsoft's services and products rely heavily on C# and .NET due to their unmatched productivity, robust ecosystem, and strong scalability. C# excels in scenarios demanding rapid, maintainable, and scalable development, powering critical systems and numerous internal and external Microsoft solutions. Modern, cross-platform .NET also offers outstanding performance, making it ideal for building cloud services that run seamlessly on any operating system and across multiple cloud providers. Recent performance improvements in .NET 9 further demonstrate our ongoing investment in this powerful ecosystem ( https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-9/ ). Let's be real. Microsoft using Go to write a compiler for TypeScript wouldn't have been possible or conceivable in years past. However, over the last few decades, we've seen Microsoft's strong and ongoing commitment to open-source software, prioritizing developer productivity and community collaboration above all. Our goal is to empower developers with the best tools available, unencumbered by internal politics or narrow constraints. This freedom to choose the right tool for each specific job ultimately benefits the entire developer community, driving innovation, efficiency, and improved outcomes. And you can't argue with a 10x outcome! No single language is perfect for every task, and at Microsoft, we celebrate the strength that comes from diversity in programming languages. Our commitment to C# and .NET remains stronger than ever, continually enhancing these technologies to provide developers with the tools they need to succeed now and into the future. Answer from syklemil on reddit.com
🌐
TypeScript
typescriptlang.org › play
TS Playground - An online editor for exploring ...
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
Object Types
How TypeScript describes the shapes of JavaScript objects.
More on Functions
Functions are the basic building block of any application, whether they’re local functions, imported from another module, or methods on a class. They’re also values, and just like other values, TypeScript has many ways to describe how functions can be called.
Utility Types
TypeScript provides several utility types to facilitate common type transformations.
Everyday Types
Use the compiler flag noImplicitAny to flag any implicit any as an error. When you declare a variable using const, var, or let, you can optionally add a type annotation to explicitly specify the type of the variable: ... TypeScript doesn’t use “types on the left”-style declarations like ...
🌐
Programiz
programiz.com › typescript › online-compiler
Online Typescript Compiler (Editor) - Programiz
Write and run your Typescript code using our online compiler. Enjoy additional features like code sharing, dark mode, and support for multiple programming languages.
Discussions

Why Go for TypeScript compiler?
There's also an interesting but buried reply from Hejlsberg in there: Our decision to port to Go underscores our commitment to pragmatic engineering choices. Our focus was on achieving the best possible result regardless of the language used. At Microsoft, we leverage multiple programming languages including C#, Go, Java, Rust, C++, TypeScript, and others, each chosen carefully based on technical suitability and team productivity. In fact, C# still happens to be the most popular language internally, by far. The TypeScript compiler's move to Go was influenced by specific technical requirements, such as the need for structural compatibility with the existing JavaScript-based codebase, ease of memory management, and the ability to handle complex graph processing efficiently. After evaluating numerous languages and making multiple prototypes — including in C# — Go emerged as the optimal choice, providing excellent ergonomics for tree traversal, ease of memory allocation, and a code structure that closely mirrors the existing compiler, enabling easier maintenance and compatibility. In a green field, this would have been a totally different conversation. But this was not a green field - it's a port of an existing codebase with 100 man-years of investment. Yes, we could have redesigned the compiler in C# from scratch, and it would have worked. In fact, C#'s own compiler, Roslyn, is written in C# and bootstraps itself. But this wasn't a compiler redesign, and the TypeScript to Go move was far more automatable and more one-to-one in its mapping. Our existing codebase is all functions and data structures - no classes. Idiomatic Go looked just like our existing codebase so the port was greatly simplified. While this decision was well-suited to TypeScript’s specific situation, it does not diminish our deep and ongoing investment in C# and .NET. A majority of Microsoft's services and products rely heavily on C# and .NET due to their unmatched productivity, robust ecosystem, and strong scalability. C# excels in scenarios demanding rapid, maintainable, and scalable development, powering critical systems and numerous internal and external Microsoft solutions. Modern, cross-platform .NET also offers outstanding performance, making it ideal for building cloud services that run seamlessly on any operating system and across multiple cloud providers. Recent performance improvements in .NET 9 further demonstrate our ongoing investment in this powerful ecosystem ( https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-9/ ). Let's be real. Microsoft using Go to write a compiler for TypeScript wouldn't have been possible or conceivable in years past. However, over the last few decades, we've seen Microsoft's strong and ongoing commitment to open-source software, prioritizing developer productivity and community collaboration above all. Our goal is to empower developers with the best tools available, unencumbered by internal politics or narrow constraints. This freedom to choose the right tool for each specific job ultimately benefits the entire developer community, driving innovation, efficiency, and improved outcomes. And you can't argue with a 10x outcome! No single language is perfect for every task, and at Microsoft, we celebrate the strength that comes from diversity in programming languages. Our commitment to C# and .NET remains stronger than ever, continually enhancing these technologies to provide developers with the tools they need to succeed now and into the future. More on reddit.com
🌐 r/programming
144
238
March 12, 2025
How to run TypeScript compiler within a website
I'd like to run the TypeScript compiler within a website in order to build something like the playground on TypeScript's website TypeScript Playground. In opposite of running tsc on the server sid... More on stackoverflow.com
🌐 stackoverflow.com
How to watch and compile all TypeScript sources?
I'm trying to convert a pet project to TypeScript and don't seem to be able to use the tsc utility to watch and compile my files. The help says I should use the -w switch, but it looks like it can't More on stackoverflow.com
🌐 stackoverflow.com
TypeScript compiler is being ported to Go : ProgrammingLanguages
🌐 r/ProgrammingLanguages
🌐
Visual Studio Code
code.visualstudio.com › docs › typescript › typescript-compiling
Compiling TypeScript
November 3, 2021 - Typically the first step in any new TypeScript project is to add a tsconfig.json file. A tsconfig.json file defines the TypeScript project settings, such as the compiler options and the files that should be included. To do this, open up the folder where you want to store your source and add a new file named tsconfig.json.
🌐
OneCompiler
onecompiler.com › typescript
TypeScript Online Compiler
OneCompiler's TypeScript online editor helps you to write, compile, debug and run TypeScript code online.
🌐
TypeScript
typescriptlang.org › docs › handbook › compiler-options.html
TypeScript: Documentation - tsc CLI Options
Running tsc locally will compile the closest project defined by a tsconfig.json, or you can compile a set of TypeScript files by passing in a glob of files you want.
🌐
Developer Tech News
developer-tech.com › home › news › typescript 7 native compiler port shatters build times
TypeScript 7 native compiler port shatters build times
4 days ago - Efficiency drives this overhaul. As projects scale, single-threaded compilation becomes a costly bottleneck. By moving to native code, TypeScript 7 leverages shared-memory parallelism, meaning it can “build up multiple projects in parallel” rather than churning through them sequentially.
Find elsewhere
🌐
Reddit
reddit.com › r/programming › why go for typescript compiler?
r/programming on Reddit: Why Go for TypeScript compiler?
March 12, 2025 - So now, TypeScript. This is a matter of opinion, but JavaScript is constantly changing, and you might suddenly have new syntax that dramatically changes the syntax tree. While Rust has support for abstract syntax trees natively, that doesn't mean it will be easy to apply to a TypeScript compiler.
🌐
Better Stack
betterstack.com › community › guides › scaling-nodejs › typescript-target-compiler
Understanding TypeScript’s Target Compiler Option | Better Stack Community
5 days ago - The target compiler option determines which version of JavaScript TypeScript produces from your code, directly shaping whether your compiled output runs on older browsers or takes advantage of modern language features. This setting controls how TypeScript transforms syntax like async/await, classes, and arrow functions into equivalent JavaScript that your target runtime can execute.
🌐
Playcode
playcode.io › typescript
TypeScript Playground - Free Online TS Playground
Best TypeScript playground to write and run TypeScript online. Free TS playground with live preview, type checking, and instant compilation. Start coding TypeScript now.
🌐
Microsoft Developer Blogs
devblogs.microsoft.com › dev blogs › typescript › progress on typescript 7 – december 2025
Progress on TypeScript 7 - December 2025 - TypeScript
1 week ago - Earlier this year, the TypeScript team announced that we’ve been porting the compiler and language service to native code to take advantage of better raw performance, memory usage, and parallelism. This effort (codenamed “Project Corsa”, and soon “TypeScript 7.0”) has been a significant ...
🌐
W3Schools
w3schools.com › typescript › typescript_editor.php
TypeScript Online Editor (Compiler)
With our online TypeScript editor, you can edit TypeScript code, and view the result in your browser.
🌐
TypeScript
typescriptlang.org › download
TypeScript: How to set up TypeScript
TypeScript can be installed through three installation routes depending on how you intend to use it: an npm module, a NuGet package or a Visual Studio Extension.
🌐
GitHub
github.com › microsoft › TypeScript › wiki › Using-the-Compiler-API
Using the Compiler API · microsoft/TypeScript Wiki · GitHub
October 5, 2023 - TypeScript is a superset of JavaScript that compiles to clean JavaScript output. - Using the Compiler API · microsoft/TypeScript Wiki
Author   microsoft
🌐
Playcode
playcode.io › typescript-playground
Typescript Playground
Best TypeScript playground to write and run TypeScript online. Free TS playground with live preview, type checking, and instant compilation. Start coding TypeScript now.
🌐
TypeScript
typescriptlang.org
TypeScript: JavaScript With Syntax For Types.
TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code.
🌐
YouTube
youtube.com › watch
A 10x faster TypeScript - YouTube
Anders Hejlsberg, lead architect of TypeScript and Technical Fellow at Microsoft, introduces a new port of TypeScript that will deliver the next generation o...
Published   March 11, 2025
🌐
Microsoft Developer Blogs
devblogs.microsoft.com › dev blogs › typescript › a 10x faster typescript
A 10x Faster TypeScript - TypeScript
March 11, 2025 - To meet those goals, we’ve begun work on a native port of the TypeScript compiler and tools. The native implementation will drastically improve editor startup, reduce most build times by 10x, and substantially reduce memory usage.
🌐
Replit
replit.com › languages › typescript
TypeScript Online Compiler & Interpreter - Replit
Write and run TypeScript code using our TypeScript online compiler & interpreter. You can build, share, and host applications right from your browser!