3 ms·
There is a good reason why dynamically typed languages have such large and vibrant library ecosystems compared to statically typed languages... I've been saying
by jongjong 4y ago
There is a good reason why dynamically typed languages have such large and vibrant library ecosystems compared to statically typed languages... I've been saying stuff like this for years. My main problem with TS is that it tries too hard to shove itself down everyone's throats and just seems to be destroying open source along the way.
All these complex (albeit well-defined) interfaces add friction between libraries.
Imagine that you're an electrician and your job is to change a lightbulb... Do you really want to have a meeting with the central standards committee and the lightbulb manufacturer in order to be able to change that lightculb or you just want to screw it in and be done with it?
The core problem with these type systems is that they try to create a globally-consistent universe where all the different modules/libraries agree about what all the different types which might exist in the actual universe are but somehow they never manage to get there; or if they get close, they end up extremely rigid and require a lot more effort to maintain (E.g. Java).
- mirekrusin 4y agoI think you're conflating object-orientation with algebraic type systems (which java doesn't have).
- jongjong 4y agoIn Java, there seems to be an interface for every concept and the way they are used is quite restrictive in a harmful way. For example, a URL isn't merely a string which is copied/cloned (by value) each time it gets passed to a new function, there is an actual URL instance and you are encouraged to pass around references of it. This type of design can cause issues if multiple modules end up holding a reference to the same instance and try to modify it (in conflicting ways). It just encourages poor design IMO. It requires more effort (more friction) to avoid bad, tightly coupled architecture.