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.
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.
I have. Edit; I haven’t 🤣 didn’t see the .js at the end of that word so some of the following is probably irrelevant, though I’ll leave it because it took me a while to type it out. Haha
I’d probably be more interested in it if I were being forced by my day job to work in the JVM. I happen to be in a situation where I am my own boss working on projects completely alone and the tech I pick comes from months of wasting time making perfect the enemy of good. I know that raises quite a few red flags but I can’t help the way that they made me. Haha 🥴
From what I’ve gathered from Joseph Gordon Bell at the (IMO best software engineering podcast ever) Co-Recursive podcast, Scala sacrifices some of the purity and safety by its dependence on the the Java cargo cult. Partly, this is also a drawback of Purescript for me (since it’s intended to compile to JavaScript) but Purescript is starting to be able to escape that fate. Also, I’m a HUGE fan of Haskell syntax.
From your perspective, what pros and cons do you see if I were comparing Scala to Purescript?
Ps. The one that is actually really making me take notice lately is OCaml for the browser.