[Python-Dev] [Idle-dev] Removing IDLE from the standard library

Tal Einat taleinat at gmail.com
Mon Jul 12 12:52:31 CEST 2010


Hi Kurt, I'm glad you've joined this discussion.

My point is that whatever the reason, for the past five years (at
least) nearly every issue related to IDLE has taken years to be
resolved, and many have still not been resolved. As a result the
current state of IDLE is quite poor.

To be perfectly clear, I'm am not blaming anyone for this. I just
think this is something the development community should be more aware
of and decide how to deal with.

On Mon, Jul 12, 2010 at 12:20 PM, Kurt B. Kaiser wrote:
> Particularly on Windows, there is an expectation that a contemporary
> programming language comes with a GUI.  Using the Windows Python shell
> isn't very satisfactory, largely because of the poor file handling
> capability in that environment.  IDLE provides a simple solution,
> suitable for beginners as well as experts.  It provides one-keystroke
> save/run in a fresh environment not associated with the GUI.  I have run
> IDLE inside IDLE (though I'm not positive that will work right now).
> How many IDEs can do that?

[snip]

> On a netbook, screen space is at a premium, and a simple interface has
> advantages.  There are many IDEs listed on the wiki if people are
> looking for the more complex style, but I'd suggest that they aren't
> appropriate for beginners.  And by beginners, I include elementary
> school students.

I agree that IDLE is great specifically thanks to its simplicity, and
should be kept simple. I think something like IDLE can be great for
teaching and learning Python (and other uses as well) and has a place
in the stdlib. I'm simply not sure if IDLE in its current state is fit
for this purpose.

> I'm mystified about the comments that the GUI is ugly.  It is minimal.
> On XP, it looks exactly like an XP window with a simple menubar.  Those
> who haven't looked at it for awhile may not be aware of the recent
> advances made by Tk in native look and feel.  What is ugly?

IDLE may be somewhat close to looking like a native application, but
it is not quite there. Some examples:
* Users expect to be able to copy/paste using the mouse via the
right-click context menu, which is impossible in IDLE (in both shell
and editor windows).
* The selection jumping to the end of the line unexpectedly doesn't
happen in any other GUI text editor.
* The config dialog looks archaic.

As for the native look&feel, this has still not been integrated into
IDLE, though it seems now it will happen soon. This has already been
discussed here.

> IDLE works with "extensions".  Plug-ins, if you will.  The Option dialog
> needs enhancement to support extension selection, and I believe there is
> a patch to do that.  More extensions would be a good thing.

IDLE extensions are a pain to work with and badly supported.
Installing an extension requires manually placing it in the idlelib
directory and manually adding its config options to a certain text
file in that directory. In practice nobody ever takes the effort to
try installing an IDLE extension, such as my SearchBar extension.

There has been discussion on improving this situation, but again this
never actually happened. I tried to move this along with a patch which
adds an extension config dialog, which has been sitting in the issue
tracker ignored for two years.

> Tal has made a couple of comments about not being able to run multiple
> IDLEs at the same time, and he mentions
>
> http://bugs.python.org/issue1529142
>
> This bug has been closed for over a year, and you can run as many IDLEs
> as you like.  You can run 2.7 and 3.x at the same time.  I would have
> expected Tal to know that.

I clearly mentioned that as an example of a fix for a major usability
issue which took three years to resolve after a workaround was first
posted. It is worth noting that most people still don't use the
versions of Python (and IDLE) where this fix has been integrated.

> The reason that bug languished for two years was because first, it was a
> bit of a hack, and second, Windows was problematic in that it reused
> sockets and often left zombie subprocesses behind which couldn't be
> killed except with the task manager.  This causes real problems with
> students - they lose confidence in the tool.
>
> Scherer and Weeble put together a patch using ephemeral ports which
> nailed the problem, and I checked it in right away and
> forward/backported it.

True, but it took three whole years for this to happen. And this is
for a glaring, annoying and limiting issue that nearly every user of
IDLE has encountered.


More information about the Python-Dev mailing list