news.volyx.in

TypeScript 7 (devblogs.microsoft.com)

714 points by DanRosenwasser · 3 days ago · 301 comments on HN

Article summary

TypeScript 7 has been released, featuring a native port of TypeScript built in Go that brings significant performance improvements, with speedups of 8-12x on full builds. The new version is available via npm and supports the language server protocol, allowing for seamless integration with code editors. The release is the result of a year-long effort to make every part of the toolset an order of magnitude faster. The team has also worked with large teams and companies to test TypeScript 7 on real-world codebases, ensuring its stability and reliability.

Main themes

  • TypeScript 7 release
  • Performance improvements
  • Native port in Go
  • Language server protocol support
  • Code editor integration
  • Type systems comparison

What commenters say

  • The TypeScript team's decision to rewrite the compiler in Go instead of Rust was likely due to Go's ease of use and faster development time.
  • A Rust rewrite of TypeScript would have provided better integration with the rest of the JS tooling ecosystem, but it was not considered necessary for this release.
  • The performance improvements in TypeScript 7 are significant, but some commenters argue that other languages, such as OCaml, still have more advanced type systems.
  • The use of generics and trait bounds in Rust can be a code smell and may not be necessary for large projects, which can instead use trait objects and smart pointers.
  • The Jevons Paradox suggests that increasing the efficiency of a system can lead to increased overall consumption, rather than decreased, as new use cases become economically viable.
  • Some commenters believe that the TypeScript type system is one of the most advanced, while others argue that it is not as sophisticated as other systems, such as Hindley-Milner.
  • The release of TypeScript 7 is a significant milestone, but some commenters are already looking forward to future developments, such as a potential WebAssembly version.