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
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.
App-Free Experience by Deutsche Telekom
Deutsche Telekom is following Spain’s Telefónica in introducing a digital assistant—essentially an artificial butler—to its phones. This solution is promised to debut on new handsets by the second half of the year. Older devices will also offer an AI-based service, available under the name Magenta AI.
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.