John Bokma wrote: > my $x = ( 5, "hello", sub {}, [], {} )[ int rand 5 ]; > > what's $x? The answer is: it depends.
That's why my blog post advocated (as usual for me) developer tests. Then you either mock the rand, like all developers should, or you get what you pay for, and Principle of Least Surprise still applies... Over the past decade, teams discovered that developer tests more than made up for the lack of rigor in dynamic languages. A dynamic language with tests can be more productive than a static language, even with its runtime type checks AND with its tests. However, our editors must catch up to us. When I test, I am statically declaring a set of types, even if the language would prefer to dynamically fling them hither and yon. We should leverage that. -- Phlip -- http://mail.python.org/mailman/listinfo/python-list