Untitled article
7/9/2026, 1:12 PM - 845 words
Faulty reasoning signals
- Biased Writer Voice - 32.2%
- Appeal to Authority - 26.7%
- Hasty Generalization - 19.1%
Article text
The Microsoft-led TypeScript 7.0 features an order-of-magnitude speed boost, a victory not only for TypeScript itself but also for Go, the programming language used to completely rewrite the web staple's compiler. Following a major rewrite effort that began with an experimental native Go implementation, this is the first stable release of the language to include its long-in-development Go-based compiler rewrite. “TypeScript 7 brings native code speed, shared memory multithreading, and a number of new optimizations that typically yield speedups between 8x and 12x on full builds,” wrote Microsoft Principal Product Manager Daniel Rosenwasser. For the user's code editor, the rewrite shortens the time it takes files to open, to search through the code, for auto-completion to awaken and do its job. You thought that the text editor was slowing you down, but in many cases, the imported TypeScript Language Server was the culprit. The speedup happens in development time, not in the deployment. Too Big for JavaScript Last year, the TypeScript team deliberately set out to give TypeScript a much-needed bump in speed. Everything on the TypeScript language server would have to be rewritten from scratch, proclaimed Anders Hejlsberg, who, along with Steve Lucco, initially built TypeScript to bring static typing, and hence programming rigor, to JavaScript. The port to native code from the original compiler, written in TypeScript and executed by the V8 JavaScript engine, was necessary for performance reasons, Hejlsberg said earlier this year. “We quickly realized we could get 10x, half of it from being native code, and the other half from being able to take advantage of shared memory concurrency.” In the best spirit of bootstrapping, the previous version of TypeScript language server was rendered in JavaScript. But large-scale users were growing more frustrated. For instance, developers at Slack couldn’t even do a full type-check of their own code, so sluggish was their language server. Instead, the task was left for the continuous integration server. With TypeScript 7, full type checks can be done by the developer again at Slack. In Microsoft benchmarks, compiling VScode, with its 2.3 million lines of code, took TypeScript 6 125 seconds. TypeScript 7 did the job in only 10.6 seconds – an 11.9x increase. TypeScript 7 (we're told) also made short work of other source code behemoths, including Sentry (1.9 million lines of code in 15.7 seconds), Bluesky (628,000 lines in 2.8 seconds), and Playwright (528,000 lines of code in 1.47 seconds). There goes that time to check the email. Why Go triumphed For a Microsoft project, the team choosing Go to re-render TypeScript is a bit of a shocker. The team had the company’s none-too-shabby C# at its disposal, and Microsoft (and the rest of the industry) nurtures a growing fondness for Rust. Go barely scrapes into the top 20 of the latest Tiobe list of popular programming languages. Google engineers Rob Pike, Robert Griesemer, and Ken Thompson created Go to simplify their coding chores, creating only those features needed to build distributed applications with massive codebases. Released as open source in 2009, Golang, as it is affectionately called, found a home in the cloud native community – 97.7 percent of Kubernetes is written in Go. Go was the most suitable language for the rewrite, Hejlsberg explained in a Microsoft video. “It’s the lowest level language we can get to that gives us full native-code support on all platforms,” he explained. And it’s great at concurrency. There were several additional reasons to choose Go, explained TypeScript development team lead Ryan Cavanaugh, in an FAQ discussion entitled “Why Go?” One was purely structural similarity. Go syntax most resembles JavaScript’s, which makes it easier for both man and machine to find and update both code bases. The old JavaScript server code will need to be maintained for several more years at least. Go is also pretty slick at handling memory allocation. For most compilations, TypeScript can simply turn off Go’s notoriously sluggish garbage collector. “Go's model therefore nets us a very big win in reducing codebase complexity, while paying very little actual runtime cost for garbage collection,” he wrote. Go is also quite adept at graph traversal, walking up and down complex syntax trees just to understand your convoluted code. Go offers advantages to the agent In a blog post, Steve Francia, the one-time Google product and strategy lead for Go, offered four additional advantages that Go may have presented to the TypeScript masterminds: build times, dependency management, error feedback, and contributor churn. If not handled well, these factors can all be frustrating for the developer, and doubly so for the automation-hungry agents of tomorrow. “Slow builds waste iterations, broken dependency resolution wastes entire runs, weak error feedback lets mistakes survive those runs, and ecosystem churn invalidates what the agent knew before it started,” Francia wrote. In the end, it may be Go’s human-focused qualities, not its technical chops, that makes it an obvious choice for making TypeScript go. “In a development loop, the question isn’t ‘which language is easiest to write?’ It’s ‘which is easiest to write, review, and ship?” Francia wrote. ®