On 4 Jun 2013 17:04, "Chris Angelico" <ros...@gmail.com> wrote: > > On Wed, Jun 5, 2013 at 1:44 AM, Rick Johnson > <rantingrickjohn...@gmail.com> wrote: > > But we are really ignoring the elephant in the room. Implict > > conversion to Boolean is just a drop in the bucket compared > > to the constant "shell game" we are subjected to when > > reading source code. We so naively believe that a symbol > > named "lst" is a list object or a symbol "age" is a integer, > > when we could be totally wrong! This is the source of many > > subtle bugs!!! > > You know, if you want a language with strict type declarations and > extreme run-time efficiency, there are some around. I think one of > them might even be used to make the most popular Python. Give it a > try, you might like it! There's NO WAY that you could accidentally > pass a list to a function that's expecting a float, NO WAY to > unexpectedly call a method on the wrong type of object. It would suit > you perfectly! >
I agree. I have never had this kind of issues in a dynamic language. Except when passing stuff to Django's fields. And in JavaScript. It seems like the thing was made to create references to `undefined`. And make them easily convertible to numbers and strings so that our calculations mysteriously fail when we're missing a function argument somewhere.
-- http://mail.python.org/mailman/listinfo/python-list