On Tuesday, 27 June 2017 at 06:10:52 UTC, Tobias Müller wrote:

It's not at all bad code to write things down that the compiler could infer, quite the opposite. Writing it down signals _intent_ and the compiler can check if the implementation is matching the specification which gives you additional security. Additionally it allowes the compiler to do the checks locally which is much easier.

Function signatures are interfaces which should be self-contained IMO, i.e. it should not be necessary to examine the function body. That's what signatures are for. At very least for public interfaces.

I honestly don't understand how people that care a great deal about expressive type systems can be so opposed to checked exceptions. After all they wouldn't use 'object' for everything either.


Bravo! These are very important points!

FWIW, Bruce Eckel who is so often quoted by people who are opposed to checked exceptions comes from a dynamic language background. Here's a relevant quote by Bruce Eckel:

"I think that the belief that everything needs strong static (compile-time) checking is an illusion; it seems like it will buy you more than it actually does. But this is a hard thing to see if you are coming from a statically-typed language."

Source: https://groups.google.com/forum/#!original/comp.lang.java.advocacy/r8VPk4deYDI/qqhL8g1uvf8J

If you like dynamic languages such as Python you probably agree with Bruce Eckel. If you are a fan of static checking then I don't see how you can like that.

Reply via email to