Typescript, it sucks but i use it anyway

July 09, 2025 — Yato

cover

Typescript, the holygrail language for us soy-devs. It’s quirky, weird and outright confusing sometimes. And yet… we use it. A lot.

insane performance

Typescript is as fast as IE. Big project? Typescript will make sure you feel the weight of your own codebase.

You’re basically trading RAM for autocompletion that takes 5 seconds to load. Dev experience? More like dev patience test.

library author wannabe

At some point, you will write type, so incomprehensible, so deeply nested in generics, that you start questioning your entire career.

All you wanted was autocomplete. Now you’re knee-deep in conditional types and existential dread.

type WhatEvenIsThis<
  T,
  U extends keyof T = keyof T,
  V = {
    [K in U]: T[K] extends infer R
      ? R extends string | number
        ? R
        : never
      : never;
  },
  W extends keyof V = keyof V,
  X = {
    [K in W]: V[K] extends string
      ? `${K & string}__&__${V[K] & string}`
      : never;
  },
  Y = X & { extra?: "Because why not add more layers?" },
  Z = keyof Y,
> = Z extends keyof Y ? Y[Z] : never;

// TL;DR: This type does something.
// Nobody knows exactly what...

why not just use jsdoc?

Sure, we all love writing comments, right?

“Oh, I want to type this object” — better start with a comment block!

Great! Now you can spend more time writing comments just to avoid spending time compiling typescript.

it works

Despite all those imperfections, typescript does work, it helps. For my projects and maybe many of yours too.

A lot of the time, performance isn’t really much of a problem, well unless you have a gigantic monorepo codebase. In that case, i wish you luck 😅

finale

In the end of the day, languages are just tools. And tools are well… just tools.

Use the right one for the job. Use the one you can afford to use.

Nothing is perfect. And definitely not Typescript!