UNABLE TO GET IDLE TO RUN

Steven D'Aprano steve at pearwood.info
Sun Nov 1 20:19:57 EST 2015


On Mon, 2 Nov 2015 11:07 am, Terry Reedy wrote:

> On 11/1/2015 11:17 AM, Laura Creighton wrote:
> 
>> In a message of Mon, 02 Nov 2015 01:27:23 +1100, "Steven D'Aprano" writes
>> a reply to Michael Overtoon:
> 
> He was actually responding to my proposal to warn about duplicating
> stdlib names when saving-as.
> 
>>> Users are inclined to ignore alerts, dialogs and error messages, and
>>> applications try very, very hard to reinforce that tendency.
>>
>>
http://ux.stackexchange.com/questions/4518/should-alert-boxes-be-avoided-at-any-cost
> 
> I read this and at least some of the concerns do not apply.
> 
> * IDLE does not spam users with alerts.

IDLE might not, but they will be using a computer that does. 

And frankly, I don't believe that users don't read alerts because they are
spammed by them. I've seen far too many new computer users who have not had
time to get jaded by excessive alerts click through without reading.

Certainly the excessive use of warnings makes the problem worse, teaching
even experienced users to ignore them. But that's not where the problem
starts.

We all agree on the nature of the problem, we all agree that the evidence
from systematic UI testing is that the general solution proposed ("put up a
warning dialog") is likely to be pointless, and yet some of us are sure
that the evidence doesn't apply in this case, this case is special.

I don't believe it is.


[...]
>>> Good to see that IDLE is going to continue that fine old tradition of
>>> degrading usability for the sake of a quick and easy non-solution to a
>>> problem.
> 
> Doing nothing is also a non-solution.

Some people may argue that Python has survived for over two decades with
this problem, so that "do nothing" is a perfectly valid thing to do.

But I haven't argued for "do nothing". I've offered two solutions:

- Python as a whole should move "" from the start of sys.path to the end (or
at least the middle, after the stdlib) so as to avoid accidental shadowing.

- Even if Python doesn't do this, IDLE could do it, and could do it
immediately, without waiting for a new point release. IDLE is an
application, an IDE, not the Python interpreter, and like IPython or any
other IDE, it is perfectly entitled to behave differently from the vanilla
Python interpreter.

I argue that IDLE is entitled to do anything which the site module or
PYTHONSTARTUP file could do, such as pre-import the most common modules, or
change the order of sys.path. As maintainer, you're entitled to reject my
solution. But it is a potential solution, and I believe it will come closer
to an actual fix for the shadowing issue than raising warnings.



-- 
Steven




More information about the Python-list mailing list