<p dir="ltr"><br>
On 31 May 2014 02:47, "Chris Barker" <<a href="mailto:chris.barker@noaa.gov">chris.barker@noaa.gov</a>> wrote:<br>
> However, I also believe that when teaching it's better to introduce the "right way" to do something up front, rather than a "beginners' way", then later say, well, you really SHOULD do it this other way... So if we want our students to use print as a function, we might a well start them off that way. Saying that their very first easy program is:<br>

><br>
> print("hello world")<br>
><br>
> is fine -- they don't have to know or understand what a function call is -- they simply copy the syntax. And frankly, we get to simple function calls, VERY early in the program -- you can't really do anything without them...</p>

<p dir="ltr">OK, that's a fair criticism of that particular argument, so I'll stop using it. There are others, though:</p>
<p dir="ltr">* improve consistency between IPython's existing implied call support and vanilla Python 3.5+<br>
* retroactively make a lot of Python 2 examples also valid for Python 3.5+<br>
* ease the migration to Python 3 for ad hoc utility scripts (which often use print heavily)<br>
* reduce the syntactic noise in migration patches (although large applications tend to use print less than scripts do)<br>
* largely eliminate one of the *human* barriers to migration from Python 2 (forgetting the parens for print at the interactive console and in ad hoc scripts)</p>
<p dir="ltr">I already have too many other things on my todo list to work this up into a full PEP, but the proof of concept (along with IPython's existing support) shows there's no *technical* barrier to adding the feature. It's a question of whether or not we *want* to blur the boundary between simple statements and simple imperative function calls like that.</p>

<p dir="ltr">Cheers,<br>
Nick.</p>