[Python-Dev] IDLE in the stdlib (original) (raw)

Kurt B. Kaiser kbk at shore.net
Wed Mar 20 23:48:15 CET 2013


[Barry]

On Mar 20, 2013, at 11:22 AM, Eli Bendersky wrote:

IDLE would be a great first foray into this "separate project" world, because it is many ways a separate project. I really think that's true. A separate project, occasionally sync'd back into the stdlib by a core dev seems like the right way to manage IDLE.

It seems to me that we are seeing increasing use of IDLE for beginner training. I've seen several recent Python books that use IDLE as their programming environment, and which include IDLE screen captures in the text.

I've always felt that IDLE should be targeted to an eight year old beginner, and should work uniformly across the major platforms. That now includes the Raspberry Pi!!

I believe it's very important that Python come with an IDE as part of the "batteries" - it's very awkward for a beginner to write code in something like Notepad and then run and debug it in a Windows command shell. Just getting the paths right is problematic (and I'm not talking about backslashes).

It's very helpful for an instructor to be able to deal with a single application that runs on all the major platforms, and not have to spend a lot of time getting the tools up to speed before the actual Python training can begin.

And, while an instructor can walk a student through downloading and installing some IDE, it's very helpful IMHO for a beginner working alone on Windows or Mac to be able to just click on IDLE.

A Raspberry Pi might not even have a web connection!

IDLE has a single keystroke round trip - it's an IDE, not just an editor like Sublime Text or Notepad. In the 21st century, people expect some sort of IDE. Or, they should!

IDLE forked nearly a decade ago to introduce subprocess execution and the configuration dialog. Subsequently, I merged it back into core and it played a useful role in Python 3 development.

Scheme hackers write new Scheme implementations. Python hackers tend to write editors and IDEs, it seems. I think, considering all the competition, that IDLE would have died if it hadn't been merged back. Instead, many of its competitors died.

So, although I'm pretty agnostic regarding where development is done, I think Python should continue to release a simple native IDE in its binaries, and I worry that IDLE will be eventually dropped from the binaries if it's separate. Right now, Apple is delivering IDLE along with Python (though there are issues with the current installation) and I hope that will continue.

OTOH, development is likely to be more vigorous if it's separate.

I'd also like to make a plea to keep IDLE's interface clean and basic. There are lots of complex IDEs available for those who want them. It's natural for developers to add features, that's what they do :-), but you don't hand a novice a Ferrari (or emacs) and expect good results. IMHO some of the feature patches on the tracker should be rejected on that basis.

It's sometimes said that IDLE is "ugly" or "broken". These terms are subjective! If it's truly broken, then we should fix it. If it's "broken" because a feature is missing, maybe that's an intentional part of Guido's design of a simple Python IDE.

-- KBK



More information about the Python-Dev mailing list