www.youtube.com
The Future of TypeScript
{ts:85} to just following standards. But it has a lot of issues, too. Things like the default setup not being strict at all {ts:92} because it doesn't have the strict mode on. Things like the performance not being great for large code bases, weird {ts:96} rules and inference, and just strange behaviors around recursive type definitions. … TypeScript code bases are {ts:608} too big now and TypeScript is too slow specifically for type checking. These problems did not matter before when we {ts:614} were just building these small web apps. Now they matter a lot. Back when I was at Twitch, we rebuilt the whole web app … {ts:1026} defined functions within an object of this, it failed. This made it so we couldn't use the pattern you're seeing {ts:1032} here for uplifting. We had to go with builder pattern instead. And it pissed me off a lot. And I was not the only one {ts:1037} who was pissed.
Related Pain Points4件
Restrictive Type Checking Blocks Valid Language Patterns
7TypeScript's type system prevents developers from using certain valid JavaScript patterns. For example, nested function definitions within objects don't work properly, forcing developers to use less natural workarounds like the builder pattern.
TypeScript does not provide the type safety it claims to offer
6TypeScript's type system provides a false sense of security. The transpiler cannot truly know type information due to JavaScript's dynamic nature, and empirical research shows TypeScript code contains equal or more bugs than JavaScript code, with longer bug fix times.
Complex and Steep Learning Curve for Type System
5TypeScript's typing system, including concepts like generics, utility types, and complex type inference, is difficult for developers to learn and use properly. The complexity of understanding advanced typing patterns creates a significant barrier to entry.
Compilation overhead and build time impact in large TypeScript projects
4TypeScript adds a compilation step to the development workflow that can take seconds or minutes in large projects, slowing down the development cycle. While modern tools like esbuild, swc, and Vite help reduce build times, this overhead remains a consideration for project setup.