From http://www.smashingmagazine.com/2013/04/18/introduction-to-programming-type-systems/
So, which is better?
The static programmer says: | The dynamic programmer says: |
---|---|
“Static typing catches bugs with the compiler and keeps you out of trouble.” | “Static typing only catches some bugs, and you can’t trust the compiler to do your testing.” |
“Static languages are easier to read because they’re more explicit about what the code does.” | “Dynamic languages are easier to read because you write less code.” |
“At least I know that the code compiles.” | “Just because the code compiles doesn’t mean it runs.” |
“I trust the static typing to make sure my team writes good code.” | “The compiler doesn’t stop you from writing bad code.” |
“Debugging an unknown object is impossible.” | “Debugging overly complex object hierarchies is unbearable.” |
“Compiler bugs happen at midmorning in my office; runtime bugs happen at midnight for my customers.” | “There’s no replacement for testing, and unit tests find more issues than the compiler ever could.” |