Those of you who’ve done both: what do you like about statically typed languages (vs. dynamic)?
-
-
Replying to @sarahmei
Statically typed languages are like having a spell checker AND a grammar checker up front. Dynamic languages mean I won’t know if I spelled anything wrong until I get my paper back from the teacher.
29 replies 213 retweets 791 likes -
Replying to @shanselman @sarahmei
Unless, of course, you practice TDD. Then you know immediately because you are writing a very specific purpose spelling and grammar checker.
18 replies 14 retweets 77 likes -
Tests are not proofs.
1 reply 2 retweets 12 likes -
Neither are types.
5 replies 0 retweets 6 likes -
Replying to @unclebobmartin @jonharrop and
Um. That’s exactly what they are. Perhaps you meant to say “types are only able to prove some things about your code, and I find that less useful than others do, but I see where you’re coming from”
1 reply 0 retweets 19 likes -
Replying to @sebastiangood @jonharrop and
The type is not the proof, it is the statement to be proven by a program. In any case, expressing all necessary behaviors as types is impractical; but as tests is trivial.
3 replies 0 retweets 3 likes -
Replying to @unclebobmartin @sebastiangood and
Further, using types appropriately, has the same practical outcome as writing infinity tests, but with zero effort and zero hindrance. Where is that trade-off exactly?
2 replies 0 retweets 10 likes -
Replying to @dibblego @unclebobmartin and
Of course some things are unprovable in any type system. And tests to prove trivial things are really irritating and unproductive to write. So it’s worth having a mix.
2 replies 0 retweets 1 like
That wholly depends on the type system. Nobody writes tests for this type, even in an undecidable system: forall p. p -> p because that would be foolish. You have a proof and tests are redundant. Bob's argumentation consistently depends on rubbish type systems and side-effects
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.