4 ms·
You misunderstood the point. Computers are good at following rules and humans are not, so get the computers to do the rule following. That's what a type system
by noelwelsh 7y ago
You misunderstood the point. Computers are good at following rules and humans are not, so get the computers to do the rule following. That's what a type system is: a bunch of rules that the computer checks every time you compile your code.
(As for null values, modern type systems have no need for them. I guess you aren't familiar with them, because the alternative is not "shifting them to another arbitrary number". Checking out Rust / Haskell / Scala / Reason / Elm etc. might help.)
- vortico 7y agoType systems are 0.1% what I'm talking about. There's WAY more to a function contract that its type. For example, consider the function `round(x)`. Does it round toward infinity, toward negative infinity, toward zero, bank rounding, etc? There's one easy way to find out: Read the documentation of the function. Programmers who don't do this will find programming "hard" because everything they do will eventually break and crumble. Working with programmers who make assumptions without finding proof in documentation will give your project so much technical debt, you might as well redo their work yourself.