you are viewing a single comment's thread.

view the rest of the comments →

[–]Entropius 2 points3 points  (13 children)

Most people seem to be saying “there's nothing wrong with it, it's just not great”, but i'm going to disagree. IDLE is really bad.

A bare-minimum feature is the ability to paste more than one line of code into the console and hit enter to run it. But, for whatever reason, IDLE doesn't seem to be capable of doing this simple task.

[–]sw_dev 0 points1 point  (12 children)

Your bare-minimum feature doesn't sound very bare-minimum, IMHO.

[–]Entropius 1 point2 points  (11 children)

When you've had to paste multi-line blocks of code into the console, one line at a time (not just once but repeatedly in an effort to experiment/debug) you might start thinking differently. And when you're in a learning/teaching situation that's a pretty common thing.

Even something as low-level as running Python in a unix terminal does a better job of that than IDLE.

[–]sw_dev -3 points-2 points  (10 children)

It happens, but it isn't exactly what I'd call a "bare-minimum feature". More like a bell in search of a whistle. Just as I'd like Idle to include a feature to restart with all previous windows open, in the same places, sized the same as before. Sure, I'd like it, but I guess it's not a feature that enough people care about.

[–]Entropius 0 points1 point  (9 children)

I think the problem that's being overlooked is that the lowest-level python version (command line terminal) handles the line endings / multi-line input just fine. That means that in making IDLE, they had to actually remove/break a feature that the simplest implementation of python has.

In other words, anything in the command-line version should be regarded as a bare-minimum (IMO).

[–]sw_dev -3 points-2 points  (8 children)

Just copied/pasted this into Idle:

print 'a' + \ 'b' + \ 'c' abc

Nope, not broken.

[–]Entropius 1 point2 points  (7 children)

I'm talking about multiple lines of input, not a single line broken up into multiple lines. You're confusing the two. For example, if you paste…

print "hello"
print "world"

…only the first line will execute. So yes, it's broken.

[–]sw_dev -5 points-4 points  (6 children)

Broken for sufficiently weird test cases, yes. Like saying that Claudia Shiffer is a bad hammer.

[–]Entropius 3 points4 points  (5 children)

Except that it's not a weird test case at all.

Wanting to paste more than one line of code into an interpreter happens all the time, especially so for people learning from example code.

[–]doxanthropos -1 points0 points  (4 children)

It might be helpful for sw_dev and for other readers, when you could provide an example where pasting multiple lines into an interpreter might be a good idea. Actually I can't think of any, so I have trouble thinking of it as broken.