4 ms·
> Why are your types so complex? The article (and ensuing discussion) are about _library_ code, which necessarily has types that are orders of magnitude more c
by jcparkyn 4y ago
> Why are your types so complex?
The article (and ensuing discussion) are about _library_ code, which necessarily has types that are orders of magnitude more complex than application code (source: see some of the links in the article).
The reason this isn't a problem in Java, C# etc is that the things these libraries do simply _aren't possible_ in the Java type system, so no one does them, and users end up with (usually) clunkier libraries.
- bhawks 4y agoReact has its roots in StandardML and it's showing them here. Java, C# (and ma y other languages) barely scrape the surface of what you can do with a type system. Now there's definitely a question of when you start hitting diminishing returns but you can definitely do so much with and extract confidence from very strongly typed languages.
- GurnBlandston 4y ago> React has its roots in StandardML Really? This is fascinating, is there anywhere with more on this?
- dvt 4y ago> The article (and ensuing discussion) are about _library_ code, which necessarily has types that are orders of magnitude more complex than application code (source: see some of the links in the article). Are you somehow implying that C++ or Java don't have libraries? As a sidenote, React (and that entire ecosystem) is an architectural hellscape (see Vue for much more streamlined & cleaner code).
- jcparkyn 4y agoNo, I'm just saying the libraries in those languages tend to be designed differently, to accommodate the more limited type systems (but I don't use C++, so I'm sure templates can do a lot of things I'm not aware of). I'm also not necessarily saying this is a good or bad thing overall, since it can so easily lead to extra complexity. FWIW, I'd choose C#/Rust/Kotlin/etc over TS 100% of the time for projects that don't need to run in a browser.