The tooling and libraries change constantly and require migrations and reworkings due to upstream decision making (React). The language can't even handle equality (and this causes bugs) or ordering properly. We have all this infrastructure for generating types from Haskell, but they aren't the same in TypeScript (as it doesn't even have sum types), so you have to think in two different representations. We waste time on the poor quality type system. We have to do twice the work in terms of ferrying information to and from the server and think about data access patterns not just on the server but also on the client, versus a classic web app that just serves up HTML. The compiler is slow as hell, so it's not even faster than compiling Haskell code. The error messages for standard stuff are about as bad as using GHC with some exotic libraries. None of our Haskell expertise is useful (IOW wasted), things that are a one-liner in Haskell are 5 lines in TypeScript. Our app doesn't do anything fancy that a classic HTML-serving web app sprinkled couldn't do, in fewer lines of code, in one language, with no RPC. JSX is really, really awkward. Expressing something that a trivial DSL like blaze-html handles trivially is frustratingly difficult.
Created
August 31, 2022 15:42
-
-
Save chrisdone-artificial/db47e8a0b8dea1a54ac157b10adba5cf to your computer and use it in GitHub Desktop.
typescript is bad.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment