> > That argument can be made for dynamic language as well. If you write in > dynamic language (e.g. python): > > def maximum(a, b): > return a if a > b else b > > The dynamic language's version of maximum() function is 100% correct -- > if you passed an uncomparable object, instead of a number, your call of > it is incorrect; you just didn't pass the right sort of data. And that's > your problem as a caller. > > In fact, since Python's integer is infinite precision (only bounded by > available memory); in practice, Python's version of maximum() has less > chance of producing erroneous result.
"in C I can have a function maximum(int a, int b) that will always work. Never blow up, and never give an invalid answer. " Dynamic typed languages like Python fail in this case on "Never blows up". -- http://mail.python.org/mailman/listinfo/python-list