[Tutor] While learning Py: To IDE or not to IDE?

Alan Gauld alan.gauld at btinternet.com
Mon May 21 01:25:42 CEST 2012

On 20/05/12 21:01, boB Stepp wrote:
> Programming background;
> 1975-1978: FORTRAN, BASIC, some machine language/assembler.
> FORTRAN was used during pursuit of physics degree.

That makes you the same vintage as me :-)

> Goals: Learn Python. While learning Python, learn all of the good
> C.Sc. stuff that I should have learned the first go-around, Learn Java
> and C/C++. Reevaluate.

There are a couple of tutorials that try to do that, although most
just teach Python without any of the CS theory. I'd humbly suggest
mine is one of the couple... :-)

> Finally to the question: With the stated goals above, would it be
> better to invest time now at the front-end in learning a powerful IDE,
> or am I better served, while learning Python, to stick with IDLE and
> the shell and worry about an IDE later?

I strongly recommend sticking to the basics. An IDE just becomes one 
extra variable to worry about. Even IDLE has some idiosyncrasies but at 
least they are well known!

A good editor is a Godsend but they don't need to be super powerful.
You will of course get emacs and vim pushed-  both are great, I use them 
both for different tasks. But both are best on Unix. (vim is less 
powerful in vanilla form and so is better on Windows because its more of 
a pure editor than a text processing toolset like emacs). But tools like 
Scite or Notepad++ or even Kate and gedit will do the basics of syntax 
coloring etc.

> now on learning an IDE if it will save me time overall.

Picking an IDE depends on what you are programming, some are better 
suited to particular tasks. If you only want a single IDE to cover Perl, 
Python, Java, C/C++ then Eclipse and Netbeans are the obvious choices. 
If you want to do GUI development in wxPython or Qt or..... others might 
work better. And if you want database connectivity
then still others come into play.

The vim/emacs and a terminal approach works for everything of course
but are less GUI friendly.

More useful yet might be to learn a more advanced python shell. 
Ironpython is popular and adds several features to the simple >>> 
prompt. Coming from FORTRAN and even Perl its easy to miss the potential 
of the >>> prompt as a power tool for experimentally
building code. It is one of Python's best features.

If you are on Windows make sure you have turned all the CMD prompt 
options (> HELP CMD) to bring it up close to the standard of bash.

And of course ask questions here:
- post sample code that illustrates the problem, the shorter the better.
- always include full error text
- include sample data in and out if the question is data related


Alan G
Author of the Learn to Program web site

More information about the Tutor mailing list