4 ms·
IMO the problem with tools that are great "when used correctly" is that if they don't force that "correctly" part or the feature works in such a way that peopl
by eikenberry 2y ago
IMO the problem with tools that are great "when used correctly" is that if they don't force that "correctly" part
or the feature works in such a way that people just fall into correctly due to path-of-least-resistance, then people don't use it correctly. This, again IMO, is why people have problems with Exceptions. It is that they don't have these qualities and they are almost universally used incorrectly... thus the new languages have eschewed them much like they eschewed heavy handed OO abstractions. They were tried and found to be lacking for their intended purpose and alternatives are being tried.
- MBCook 2y agoRight, that’s the Java issue. It becomes very easy to just add “throws Exception“ all over the place to silence warnings when things start to get tricky. Because Swift forces the keyword ‘try’ (or a variant) before calling code that may throw it ends up being a lot of work to try to avoid the issue just by making everything throw. It’s much easier to do the correct thing and just handle the error in a smart place.
- behnamoh 2y agoI think this also applies to dynamic typing. Nowadays we see a shift back to typed languages because most people who use dynamically typed languages don't bother add even type hints (which is awful in a JS/Python codebase).