Ten Times Faster After Rewriting the TypeScript Engine in Go

 The TypeScript team has tried several times to rewrite the original JavaScript engine in a different programming language, but so far these attempts have not produced the desired results. Recently, however, they announced a breakthrough by rewriting it in Go.

The rewrite was long needed because JavaScript cannot natively support multithreading, so TypeScript could not take full advantage of modern processors. The main goal of the rewrite was to increase efficiency. The results so far show that some functions are ten times, and in some cases even fifteen times, faster. These functions include loading in various IDEs, type checking, error checking, and code generation. These improvements help shorten the development cycle, work more efficiently, and bring products to market faster.

Choosing the language best suited to the task also contributed to the success of the rewrite. Several languages could have supported native parallelization; for example, the use of Rust was considered. In fact, the team was criticized for not choosing Rust. The team agreed that rewriting in Rust could also have been efficient, but Go’s structure is very similar to TypeScript’s, which made the rewrite easier. In contrast, using Rust could have caused difficulties.

The new version is still in development. However, a beta version is expected to be available sometime in the second half of the year, and the final version is planned for release with TypeScript 7.0. Development work will continue, as the rewrite is not yet complete and work on the JavaScript engine will go on for a while. However, users will not need to take any special preparations for the switch. 

Share this post
TypeScript 5.9
One of the most important innovations in TypeScript 5.9 is support for deferred module evaluation via the import defer syntax, which implements a proposed future ECMAScript standard.
After so many "I hate CSS" articles, how is it that CSS is still so successful?
If you've ever googled "why do developers hate CSS", you know there's a flood of complaints waiting to be found online. Thousands of forum posts, tweets, memes, and long blog entries lament CSS’s "incomprehensible behavior," its "not-really-programming" nature, or the idea that it's "just for designers." It almost feels like one of the unspoken rules of developer culture is that CSS is a necessary evil—something you use only when you absolutely have to, and preferably as quickly as possible. But if so many people hate it this much—why hasn't it disappeared? In fact, why do we see more and more non-web UI platforms adopting CSS-like semantics?
According to Replit's CEO, AI Will Make Programming More Human
The rise of artificial intelligence is transforming countless industries, and software development is no exception. While many fear that AI will take over jobs and bring about a dystopian future, Amjad Masad, CEO of Replit, sees it differently. He believes AI will make work more human, interactive, and versatile. He elaborated on this vision in an interview on Y Combinator’s YouTube channel, which serves as the primary source for this article.
Babylon.js 8.0 Has Arrived
After a year of intense development, Microsoft has finally unveiled Babylon.js version 8.0. This new release brings several advanced features that enable faster, more visually appealing, and interactive web experiences. IBL shadows create more realistic environment lighting, while area lights allow for simple yet effective 2D lighting effects. In addition, the Node Render Graph—introduced in its alpha stage—gives developers full control over the rendering process, and the new Lightweight Viewer and WGSL Core Engine shaders help reduce development time and boost performance.
Go 1.24 new features
The latest version, Go 1.24, is now available, bringing a range of useful new features for Go developers. On one hand, language tools have been further improved, with a more efficient implementation replacing the previous Map implementation. On the other hand, memory management has been enhanced thanks to the introduction of weak references and an improved memory allocator.
Rust 1.85.0 arrives amidst Linux kernel drama
Rust 1.85 is a new update in the 2024 release that further enhances memory safety and concurrency models, aiming to provide a better and more reliable tool for developing performance-critical systems. However, Rust adoption has faced the greatest challenges precisely where it has the most legitimacy: in Linux kernel development.