News for hackers. Stuff that matters.
Re:What the heck are reverse mapped types? by epolanski on Sunday August 18, 2024 @03:24AM (#41280754)
There's so many things wrongs in your post imho:

1) the destructive yet not helpful nature of your post. What are better alternatives to write JavaScript than TS? Elm and flow are not.

2) not realizing that any powerful type system (or language) has advanced concepts, this isn't exclusive to TypeScript

3) Not realizing this is mostly a tool for library authors to provide better inference to API consumers

4) Last but not least, 99% of TypeScript users can't even tell what a mapped type is (it's in the docs) nor define it or say when to use it, people don't even bother to read the docs fundamentals so attitudes like yours are unsurprising

5) Typescript is verbose, but very simple to follow and read if you know the basics. It's unmaintainable only because people don't bother to master any topic

Re:What the heck are reverse mapped types? by toolslive on Sunday August 18, 2024 @04:54AM (#41281087)
> What are better alternatives to write JavaScript than TS? Elm and flow are not.

Why do you want to write javascript ? Most self-respecting programming languages have a javascript backend (Let's list a few pretty ones: Rust, OCaml, Haskell). There's no need to manually generate javascript and you can treat it like you would treat assembly language: something you don't want to touch 99% of the time.

Re:What the heck are reverse mapped types? by epolanski on Sunday August 18, 2024 @12:35PM (#41283356)
None of the languages you list allow a small team to move ahead web, native and server code with ease.

None of the languages you list make hiring easy, at all.

None of the languages you list are easy to setup across platforms/cloud environments.

None of the languages you list make handling a monorepo simple.

I am most certain (I know Haskell, lisps, Elm, C, Java, Scala) that there are different good tools for different use cases, but I ain't picking any of those 9 times out of 10 without a solid reason to do so in the context of web development.