Migrating 300k LOC from Flow to TypeScript
I&#x27;ve been using TypeScript for over 1 year after 10 years of JavaScript and I really don&#x27;t like it.
It slows me and the team down and creates more problems than it solves. It doesn&#x27;t even ensure type safety because there is no runtime type validation for JSON objects received from the API.
It&#x27;s disturbing that so few people can see how useless it is. To me, it&#x27;s extremely obvious.<p>TypeScript is a hack of epic proportions and every so often the reality rears its ugly head in the form of failed source mapping, version compatibility issues, unexpected types during runtime, poor architectural decisions aimed at pleasing the compiler instead of fulfilling project goals.<p>TypeScript is a very poor way to model real-world systems because it incorrectly assumes that real-world entities have a fixed type schema. This is obviously wrong.
Real-world objects change over time and most things cannot be categorised clearly.
A tadpole turns into a frog and learns the ability to walk. Some people are disabled and cannot walk. Some cars have 6 wheels.
There is no fixed type schema for anything in the real world; it is filled with anomalies so why should we design systems to model such unrealistic objects?
Why not force the developers to account for as many cases and schemas as possible, it&#x27;s our job!