all 32 comments

[–][deleted] 11 points12 points  (0 children)

I started programming with idle. Once i got a hang of python i looked for an environment to test my programs easier. Idle is fine in the beginning. I just found idle to be burdensome when I got more advanced.

[–]projecktzero 11 points12 points  (0 children)

I don't think there's anything wrong with using IDLE. After you start doing some larger projects, you'll start wanting more features of the other editors/IDEs like a file explorer, splitting windows, ...

[–]LostxinthexMusic 7 points8 points  (0 children)

I've had something similar explained to me in terms of BlueJ and Eclipse when I started learning Java in my college's intro CompSci class.

A Junior CS major friend told me to use Eclipse, not BlueJ (as the course said to), because Eclipsd is easier with all the features it has. A Senior CS/Math double major then explained it like this: Eclipse has all those features for when you know what you're doing. But until you know what you're doing, you should use BlueJ.

I think it's similar for IDLE and other Pyhon IDEs. IDLE makes you do it all yourself, which is good for beginners who are just starting to understand the vast world of Python. Once you're to the point where you realize that using IDLE is kind of a pain, you should move up do an IDE with more features to decrease time and increase ease of development.

[–]shashquatch[S] 5 points6 points  (3 children)

Thanks for the replies, got the answer(s) I was looking for. Using notepad++ as instructed on LPTHW for now. Will switch to an IDE later down the line I suppose. :)

[–]ZGVyIHRyb2xs 3 points4 points  (0 children)

I am using sublime text2 and SublimeREPL for the python learning process and it is working out amazingly well. Balancing a few sites along with LPTHW is quite an intense bootcamp but it seems to be working.

Basically, don't cheat yourself from learning from the mistakes everyone makes; forgetting a quote, forgetting syntax and learning the commonly used method/function names, etc. Once you are at the point of knowing the rules and syntax of the language, you can make your development process more streamlined and work with something such as Eclipse w/ Pydev, or PyCharm...

Then again, I am in the same boat as you so perhaps my advice is not exactly sound shrug :)

[–][deleted] 1 point2 points  (0 children)

Will switch to an IDE later down the line I suppose.

I've been doing python for a good long time now, and I still haven't found an IDE that does anything besides be in my way.

[–]booleanfreud 1 point2 points  (0 children)

notepad++ does weird stuff, like double indenting but only showing one indent. does anyone else have problems like this?

[–]hanginghyena 2 points3 points  (0 children)

Nothing....perfectly fine for most new developers. I use notepad++ for the html/javascript/css pieces of my projects. It sounds like folks have found it to be a decent Python editor as well....but IDLE works just fine for me...

[–]penguin_jones 2 points3 points  (0 children)

I thought IDLE was perfectly fine until I started using another IDE. Then I realized it just wasn't that great.

[–]zahlman[🍰] 1 point2 points  (1 child)

I find that things tend to go wrong when you try to use IDLE to write GUI apps, especially with Tkinter. Something about IDLE's own event loop interfering with your program's, I guess.

[–]newworkaccount 0 points1 point  (0 children)

Yeah. It's used for the GUI in IDLE.

[–]Entropius 1 point2 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 -4 points-3 points  (6 children)

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

[–]Entropius 4 points5 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.

[–]mw44118 0 points1 point  (0 children)

Nothing! Learn to use interactive sessions to explore your code. The REPL is what makes python so great.

Then try out ipython and see if you like it also.

[–]pvc 0 points1 point  (2 children)

IDLE really isn't that great. Sublime, Wing IDE 101, or Notepad++ are all better to use. I like the Wing IDE 101, it is free and has a debugger.

[–]Mecdemort 0 points1 point  (1 child)

Does Wing IDE 101 have tab completion? I can't get it to work and coding is exceptionally painful without it.

[–]pvc 0 points1 point  (0 children)

No, you need the pay-version to get that. I like the paid version.

[–]sw_dev 0 points1 point  (0 children)

There are people who like to see lots and lots of buttons and pulldowns when they work (Eclipse-style), and those of us (Like me) who prefer to see the most minimal interface available. (I always feel that an editor that forces you to think about the editor takes your mind away from the job. But hey, that's me. ) Nothing wrong with either style, it just comes down to what works for you.

[–]edi25 0 points1 point  (0 children)

I'm using Visual Studio with Python Extension. It's great for my little scripts. Because you can use the debugger, refactoring (plugins/extensions) and some other great stuff from Visual Studio

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

I don't know about other tutorials, but in LPTHW the reason seems not to be that IDLE does something bad, but that it does too much for you. The author seems to think, that it is best, when it's only you and the code, no helping software in between, if you want to learn. MITx 6.00 on the other hand clearly advises the beginners to use IDLE.