Typescript

LinearArray@programming.dev to Programmer Humor@programming.dev – 123 points –
18

If compiled languages bother you, then you’re gonna love assembly.

Asm is compiled too.

Gotta bust out the hex editor.

An assembler doesn't have any of the interesting parts of a compiler.

Anyway, the problem with Typescript is that it tends to obscure what's going on one layer below it in ways that don't happen in traditional compiled languages. We've had decades of development on tools that can work together with traditional compilers. Javascript has not, and there are frequent problems getting different tools at different layers of abstraction to march the same direction.

I'd rather read ASM than ... that random crap.

That looks like a minified webpack (or something similar) output, not a transpiled typescript output. Also the code is not valid.

What this shows is how terrible raw JS is, when all of this crap is required to fix all of the edge cases and make things actually work the way it’s supposed to.

It only looks like this if you want compression and backwards compatibility. All compiled languages have output that is optimized for those things and not readability, but if you turn off minification and use a modern language target then the compiled typescript code will look almost identical to the original code.

I vastly prefer Purescript despite it being the road less traveled. Typescript is just a fake-ish type system on top of JavaScript. But Purescript goes MUCH further in the mission of purity and code safety.

Purescript is like a modern Haskell. Completely different programming paradigm, much less accessible to your average JS developer just wanting to tighten up their code without having to learn category theory

I’m no white beard, I don’t know much or really any deep category theory (which is, by the way, just some fancy names for stuff we do CONSTANTLY as software engineers), and I use it every single day. Suit yourself, though.

Typescript is verbose training wheels for JavaScript, change my mind

All higher level programming languages are training wheels for programming