Guido van Rossum wrote: > > Really? Does 3+"" really convert the 3 to a string in Java? class foo{ void foo(){ System.err.println( 5+"" ); } } > > C++, depending on the type. Python's strictness > > about this issue has never caught a bug for me. It has only caused > > errors. > > Are you sure? This is the kind of error where you immediately see > what's wrong and move on to the next bug. I am sure that 99% of the time when I get an error message trying to add a string to something, it is because I expect the thing to be automatically coerced to the string. This probably comes from the other languages I have used. > > It's certainly caught errors for me, and especially when introducing Perl > programmers to Python, where "they expect" string+number to convert the > string to a number, apparently the opposite of the arbitrary choice Paul > prefers. > > It's ambiguous as hell -- screw it. I don't see the choice as arbitrary. Perl's choice is just insane. :) According to the definition used in Java, Javascript and C++ (sometimes) x+y If y is a string then x+y is well-defined no matter what the type of x or the content of y. Under the Perl definition, it totally depends on the type of y and the contents of x. Insane! I advocate special casing of strings (which are already special cased in various ways) whereas Perl special cases particular string values. Insane! -- Paul Prescod - Not encumbered by corporate consensus Pop stars come and pop stars go, but amid all this change there is one eternal truth: Whenever Bob Dylan writes a song about a guy, the guy is guilty as sin. - http://www.nj.com/page1/ledger/e2efc7.html
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4