[IPython-dev] Should we disable autocall by default from now on?

Robert Kern robert.kern at gmail.com
Wed Nov 30 17:21:50 EST 2011


On 11/30/11 10:04 PM, MinRK wrote:
>
>
> On Wed, Nov 30, 2011 at 13:50, Robert Kern <robert.kern at gmail.com
> <mailto:robert.kern at gmail.com>> wrote:
>
>     On 11/30/11 8:12 PM, MinRK wrote:
>      >
>      >
>      > On Wed, Nov 30, 2011 at 11:56, Fernando Perez <fperez.net at gmail.com
>     <mailto:fperez.net at gmail.com>
>      > <mailto:fperez.net at gmail.com <mailto:fperez.net at gmail.com>>> wrote:
>      >
>      >     On Wed, Nov 30, 2011 at 11:45 AM, Aaron Meurer <asmeurer at gmail.com
>     <mailto:asmeurer at gmail.com>
>      > <mailto:asmeurer at gmail.com <mailto:asmeurer at gmail.com>>> wrote:
>      > > So personally, I don't think autocall is friendly to beginner users
>      > > even as it is now, for the simple reason that it changes the syntax of
>      > > Python.
>      >
>      >     Yes, there seems to be consensus that autocall should be an expert
>      >     tool, and therefore it would be OK to make the default be off.  The
>      >     defaults should be chosen to make ipython as beginner-friendly as
>      >     possible (while still being more useful than the >>> shell).  Experts
>      >     are expected to tweak their config to suit their personal preferences
>      >     (e.g., I'll always keep autocall on in 'smart' mode).
>      >
>      >
>      > I think it's exactly the opposite.  autocall is very much a beginner
>     tool, for
>      > users who have not yet
>      > committed Python's syntax to memory.  When they make simple typos, autocall
>      > helps remind them by saying,
>      > "I know what you meant, but here's how you should do it in the future".
>
>     But that's not really what the feature does, or what it was intended to do. It
>     was added solely for the experienced user named Fernando who liked to type
>     things fast without needing to use the shift keys. It was not a do-what-I-mean
>     to correct newbie errors. There is certainly nothing in the message that implies
>     that you *should* type things differently.
>
>
> Original developer intent doesn't seem relevant.  The fact remains that it has
> this effect,
> and demonstrably makes IPython a better, friendlier tool for learning Python.

I don't think this has been convincingly demonstrated, either that it has this 
effect to any significant extent in the newbie population or that such an effect 
makes IPython a better, friendlier tool for learning Python.

The original developer intent is relevant insofar as it guided the actual 
feature itself. As I said, there is nothing about the feature that encourages 
newbies to not use the feature. It just shows you what it got transformed into. 
The original developer intent explains why this is so: the experienced user will 
want to see the transformation to double-check unintended errors.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the IPython-dev mailing list