July 09, 2025 — Yato
Typescript, the holygrail language for us soy-devs. It’s quirky, weird and outright confusing sometimes. And yet… we use it. A lot.
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.
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...
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.
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 😅
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!