<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Fri, May 10, 2013 at 11:48 AM, Guido van Rossum <span dir="ltr"><<a href="mailto:guido@python.org" target="_blank">guido@python.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I just spent a few minutes staring at a bug caused by a missing comma<br>
-- I got a mysterious argument count error because instead of foo('a',<br>
'b') I had written foo('a' 'b').<br>
<br>
This is a fairly common mistake, and IIRC at Google we even had a lint<br>
rule against this (there was also a Python dialect used for some<br>
specific purpose where this was explicitly forbidden).<br>
<br>
Now, with modern compiler technology, we can (and in fact do) evaluate<br>
compile-time string literal concatenation with the '+' operator, so<br>
there's really no reason to support 'a' 'b' any more. (The reason was<br>
always rather flimsy; I copied it from C but the reason why it's<br>
needed there doesn't really apply to Python, as it is mostly useful<br>
inside macros.)<br>
<br>
Would it be reasonable to start deprecating this and eventually remove<br>
it from the language?<br></blockquote><div><br></div><div>I would also be happy to see this error-prone syntax go (was bitten by it a number of times in the past), but I have a practical question here:<br><br>Realistically, what does "start deprecating" and "eventually remove" means here? This is a significant backwards-compatibility breaking change that will *definitely* break existing code. So would it be removed just in "Python 4"? Or are you talking about an actual 3.x release like "deprecate in 3.4 and remove in 3.5" ?<br>

<br>Eli<br><br></div><div> </div></div></div></div>