Registered: Apr, 2005
Re: Python IDEs
Posted: Mar 8, 2006 12:06 PM
> Personally I would hate to work on any
> significant system without the following:
> 1. Go to declaration (for variables, methods, classes
> across files and into libraries)
> 2. Find references/uses (again for variables, classes,
> methods and across all files)
> 3. Type hierarchy
You're still thinking batch mode compile; python
works much better with an interactive session.
In my personal experience, I use python more
interactively than I used Common Lisp.
So these are indeed useful (though different from
a static language), but they're part of the run time
rather than an editor. If you can run python, then
you have access to the runtime; you won't be
stranded if you go to a new box.
> Perhaps there aren't as many big Python systems
True, but that is partly because python code is
often equivalent to a much longer java or C program --
so they would be large if they weren't in python.
That said, the largest python projects (Zope, Twisted)
are not easy to grok immediately. In fairness, neither
are most large C projects, but the sense of being lost
is unfamiliar in python.
> Code completion is also more than just saving you typing.
> Syntax checking in your IDE gives you something that is in
> some ways more useful than a REPL
And again, these come with python out of the box.
> ... If I define a procedure in Scheme (and I would
> guess languages with REPLs) I have to finish the
> definition before it gives me any feedback.
Python doesn't wait that long.
> Quick fixes in Eclipse can also change your programming
> style as they encourage a top down style. You write your
> top level method then the methods you haven't implemented
> yet are highlighted so you can go through them one by one
> and implement them (using quick fix to create the outline)
Again, if you want clean compiles from a static language,
you have to fill in at least stubs -- but python is
not static, and doesn't require that. Top-down works
fine. And if you forgot what was next on the todo list,
then just run it, and the Exception will remind.