IDE Question

S

Steve Phillips

Hi All,
I am just wondering what seems to be the most popular IDE. The reason
I ask is I am currently at war with myself when it comes to IDE's. It
seems like every one I find and try out has something in it that
others don't and viceversa. I am in search for the perfect IDE and
after many months of searching, I always come back to IDLE to do what
I need to do. I want to use Komodo badly but the one issue I have with
that is sometimes the auto-complete works and other times it doesn't.
Even if I carbon copy a script.

Thanks in advance,
Steve P
 
J

jdd

Hi All,
I am just wondering what seems to be the most popular IDE. The reason
I ask is I am currently at war with myself when it comes to IDE's. It
seems like every one I find and try out has something in it that
others don't and viceversa. I am in search for the perfect IDE and
after many months of searching, I always come back to IDLE to do what
I need to do. I want to use Komodo badly but the one issue I have with
that is sometimes the auto-complete works and other times it doesn't.
Even if I carbon copy a script.

Thanks in advance,
Steve P

I would personally recommend that you take the time to learn your way
around a powerful text editor such as emacs or vim (I use emacs,
myself), however that may not fit well with your personal editing
tastes, and the learning curve is a bit steep. The editing tastes
problem can be solved once you learn your way around a powerful text
editor (emacs, for instance, is practically infinitely customizable),
and the power you get from using them is amazing.

If you're set on using an IDE, the python wiki link that other people
have linked to has a decent overview of good options.
 
F

Fabio Zadrozny

I would personally recommend that you take the time to learn your way
around a powerful text editor such as emacs or vim (I use emacs,
myself), however that may not fit well with your personal editing
tastes, and the learning curve is a bit steep. The editing tastes
problem can be solved once you learn your way around a powerful text
editor (emacs, for instance, is practically infinitely customizable),
and the power you get from using them is amazing.

Now, following that route, many people call Eclipse is the 21st
century Emacs... ;-)

Interesting link related to that:
http://blogs.nuxeo.com/sections/blogs/julien_anguenot/2006_09_15_switching-from-emacs-to-pydev

Cheers,

Fabio
 
J

jdd

Now, following that route, many people call Eclipse is the 21st
century Emacs... ;-)

I don't want to kick off an editor war or anything, but I don't think
that Eclipse is anywhere near being a 21st century emacs, unless
there's been a whole lot of progress with it since the last time I
used it. With emacs, I can have multiple files open in one window,
with the window split (I don't remember eclipse being able to do this,
although it allowed multiple files in their own tabs), and I can
customize the actions of the editor on the fly, without restarting it,
in a variant of LISP. That may be possible in Eclipse, I don't really
know.

I used to use Eclipse and pydev, but once I learned my way around
emacs, I haven't gone back to it for anything. I probably would if I
did any coding in Java - but I don't. I'm exponentially more
productive with emacs while writing python code than I ever was with
Eclipse.

Add to that the degree to which emacs is customizable (just about
everything that the editor does can be customized, you can jump
quickly to the source of the functions you're running while editing,
you can easily patch behavior in before or after specific function
calls, you can easily define keyboard macros and bind them to
keystrokes, and / or save them for future use, you can easily create
keystrokes that correspond to interactive filling out of templates -
"skeletons", etc), and I really don't see how someone could think that
Eclipse is anywhere near being a replacement for emacs.

Not to mention that I don't need to have X installed to run emacs if I
don't need it.

I may be wrong about the capabilities of Eclipse, as I haven't used it
in about a year, and emacs certainly has it's own set of quirks and
annoyances - one of which being the very steep learning curve.

Watching the screencasts linked in the blog post you linked to, I
might prefer Eclipse to emacs if I wasn't very used to never touching
a mouse, or if I was developing under windows. With my editing mindset
the way it is right now, when I see that, I just see a lot of wasted
screen space, and a lot of wasted time doing things like intellisense.
Also, the blog post didn't really give any reasons as to _why_ the
person switched over, other than that they were impressed with
Eclipse.

Meh, I'm not talking trash on Eclipse - it's a fine tool if it fits
how you work with text / code. It's just not for me, and I would feel
crippled while using it if I switched back to it. I used IDEs like
that for a few years, but after about a month and a half of using
emacs, I haven't looked back. I even use it as my IRC client when I
jump on IRC.

I do think that people should try a variety of styles of editors to
find what works best for them though - although it does take a lot of
time to learn your way around 3 or 4 different editors, once you find
what fits with you, you will probably get a huge boost in productivity.
 
F

Fabio Zadrozny

Now, following that route, many people call Eclipse is the 21st
I don't want to kick off an editor war or anything, but I don't think
that Eclipse is anywhere near being a 21st century emacs,

Peace! I'm far from starting any war too (I don't usually try to
convince anyone about choosing a tool, as I believe that there's no
such thing as the correct choice there, only different points of view
and experiences -- the right thing is trying for yourself and deciding
what you like better -- but at least I'm going to answer to some of
your comments to try to be informative here).
unless
there's been a whole lot of progress with it since the last time I
used it. With emacs, I can have multiple files open in one window,
with the window split (I don't remember eclipse being able to do this,
although it allowed multiple files in their own tabs),

You should be able to have it.... having multiple views for the same
file: although it does that by doing a new editor, and then you can
place that new editor as you want -- below some existing, to the
right, etc -- or you can use an external plugin for something more
closer to what emacs has:
http://wiki.eclipse.org/Implement_Split_File_Editor_Functionality_for_the_Eclipse_IDE
-- note: I don't personally use that -- usually I try to keep the
modules small ;-)
and I can
customize the actions of the editor on the fly, without restarting it,
in a variant of LISP. That may be possible in Eclipse, I don't really
know.

Depends on what you want:
http://fabioz.com/pydev/manual_articles_scripting.html (but that's
just one of lots of ways to customize it)
I used to use Eclipse and pydev, but once I learned my way around
emacs, I haven't gone back to it for anything. I probably would if I
did any coding in Java - but I don't. I'm exponentially more
productive with emacs while writing python code than I ever was with
Eclipse.

I must say that I'm totally the other way around... even being
productive in emacs, there's really no comparison there for me
(disclaimer: I'm the author of Pydev, so, that's expected, but I know
many people that changed to it and say the same thing)
Add to that the degree to which emacs is customizable (just about
everything that the editor does can be customized, you can jump
quickly to the source of the functions you're running while editing,
you can easily patch behavior in before or after specific function
calls, you can easily define keyboard macros and bind them to
keystrokes, and / or save them for future use, you can easily create
keystrokes that correspond to interactive filling out of templates -
"skeletons", etc), and I really don't see how someone could think that
Eclipse is anywhere near being a replacement for emacs.

The one thing I miss in Eclipse (for which I use notepad++) is the
macros, but that's about it... Everything else is highly customizable
for me in Eclipse / Pydev... everything else is there (templates,
keybindings, jumping through code: going fast to any file/definition
you want in your project, hyperlinking in console, etc)

Also, I don't think outside of Eclipse there's anything close to what
Mylyn gives you in terms of knowing what code is really important when
working on a task ( http://www.eclipse.org/mylyn/ ).
Not to mention that I don't need to have X installed to run emacs if I
don't need it.

I may be wrong about the capabilities of Eclipse, as I haven't used it
in about a year, and emacs certainly has it's own set of quirks and
annoyances - one of which being the very steep learning curve.

Eclipse also has that -- And I'm pretty sure that the more you use a
tool the more you get productive in it.
Watching the screencasts linked in the blog post you linked to, I
might prefer Eclipse to emacs if I wasn't very used to never touching
a mouse, or if I was developing under windows. With my editing mindset
the way it is right now, when I see that, I just see a lot of wasted
screen space, and a lot of wasted time doing things like intellisense.
Also, the blog post didn't really give any reasons as to _why_ the
person switched over, other than that they were impressed with
Eclipse.

I (almost) never do touch my mouse inside eclipse too ;-)

And yes, it's very subjective.
Meh, I'm not talking trash on Eclipse - it's a fine tool if it fits
how you work with text / code. It's just not for me, and I would feel
crippled while using it if I switched back to it. I used IDEs like
that for a few years, but after about a month and a half of using
emacs, I haven't looked back. I even use it as my IRC client when I
jump on IRC.

Yeap, having lots of plugins is something both emacs and eclipse have
-- and until now, living within Eclipse has been a pleasant journey to
me ;-)

Also, as I said in the other post, choosing where you'll develop it's
a highly subjective thing, so, the right thing to do is look the
options, try them and decide for yourself.
I do think that people should try a variety of styles of editors to
find what works best for them though - although it does take a lot of
time to learn your way around 3 or 4 different editors, once you find
what fits with you, you will probably get a huge boost in productivity.

Totally agree with that.

Cheers,

Fabio
 
J

jdd

You should be able to have it.... having multiple views for the same
file: although it does that by doing a new editor, and then you can
place that new editor as you want -- below some existing, to the
right, etc -- or you can use an external plugin for something more
closer to what emacs has:http://wiki.eclipse.org/Implement_Split_File_Editor_Functionality_for...
-- note: I don't personally use that -- usually I try to keep the
modules small ;-)

Nah, I don't mean having multiple views for the same file, I mean
having multiple files open where I can see them all at once easily,
without tabs. I also keep modules small, but a lot of times I want to
be able to edit multiple files really quickly. When I'm doing web-dev
stuff (with cherrypy), I'll generally have my python source, css,
javascript, and html templates open at once, so I can quickly add a
feature and tweak stuff. I like emacs' buffer/window/frame paradigm a
lot.
Depends on what you want:http://fabioz.com/pydev/manual_articles_scripting.html(but that's
just one of lots of ways to customize it)

Yeah, I'm the type of user that like to be able to totally gut and
customize everything about the tool I'm using, and in emacs, the
underlying behavior is a keystroke away if you want it to be.
I must say that I'm totally the other way around... even being
productive in emacs, there's really no comparison there for me
(disclaimer: I'm the author of Pydev, so, that's expected, but I know
many people that changed to it and say the same thing)

Hey, you did an awesome job with Pydev - I got a lot of really good
use out of it when I still used Eclipse, and I'm sure that a lot of
people are really grateful for your work. It's a seriously awesome
tool for Python development with Eclipse, and I have fond memories of
it even though I don't use Eclipse anymore.

The one thing I miss in Eclipse (for which I use notepad++) is the
macros, but that's about it... Everything else is highly customizable
for me in Eclipse / Pydev... everything else is there (templates,
keybindings, jumping through code: going fast to any file/definition
you want in your project, hyperlinking in console, etc)

I make very heavy use of keyboard macros, and although they're
difficult to master in emacs, once I got the hang of them I got the
ability to really make large-scale modifications of a codebase
quickly. I have sets of macros for specific languages, and specific
projects. I'm sure that there are equivalent ways to have as much
editing power in Eclipse (or any other competent editor).
Also, I don't think outside of Eclipse there's anything close to what
Mylyn gives you in terms of knowing what code is really important when
working on a task (http://www.eclipse.org/mylyn/).

I hadn't heard of mylyn, and it looks like a pretty powerful, nice
tool.
Eclipse also has that -- And I'm pretty sure that the more you use a
tool the more you get productive in it.

Yes, absolutely. Tools like text/code editors always have a lot to
learn, and you can be hugely productive with just about any of them.

Also, as I said in the other post, choosing where you'll develop it's
a highly subjective thing, so, the right thing to do is look the
options, try them and decide for yourself.

This really is the crux of the "which editor should I use" issue -
there's no one correct answer for everybody. People who think
otherwise are wrong, IMO.
Totally agree with that.

Cheers,

Fabio

Absolutely. We are, I think, on the same page as far as the choice of
editor problem goes. It's somewhat analogous to the choice of
programming language issue, although not quite. I guess the lesson
here is to give each of the major editors a chance, and see what works
out for you. When I started using emacs, once I went through the
tutorial and read through some of the docs, it "clicked" for me. It's
certainly not an editor for everybody - for one, it's made in a way
where you are expected to customize it's behavior. The default
behavior in emacs is not suitable to most people - the defaults are
something of a bare-bones "yeah you can get some stuff done" mode of
editing, and it can be very frustrating until you get used to
modifying it. Eclipse is much closer to what (I imagine) most coders
are used to, especially if they come from a windows-centric
background. I personally used Eclipse while I was still learning my
way around a linux environment, and now my workflow and setup is so
different than what it was in windows that I feel utterly lost /
crippled when I'm on a windows box. Emacs fits my style of computer
use / coding - but it's far from a working solution for everybody (and
oh man, some of the editor flamewars I've seen are just ridiculous).
It sounds like Eclipse has become powerful enough that if I had to use
it (say, in a work environment), that I would not be constantly
cringing, although it would probably take me a few weeks to get up to
speed with it.

As an aside, one of the things that I like about the python community
is that the people in it are generally sane about keeping their cool
in discussions.
 
J

Joe Strout

Because of the inescapable central role in our craft of manipulating
text files, essential in this development environment is a
highly-customisable text editor with a broad *and* deep library of
existing customisations, to maximise the amount of work already done
for you when embarking on work in an area that is, to you, new.

It happens that the text editors which meet these criteria are limited
to Emacs and Vim, with a sharp decline in suitability (by these
criteria) beyond those two.

You've never used BBEdit? (Perhaps because of the platform you use --
that's a Mac-only text editor, but it meets your criteria nicely. The
free version "TextWrangler" does a pretty darn good job too, though of
course has some limitations.)

Not that vim and emacs aren't powerful, of course, but I think it goes
too far to say that ONLY those can do the job.

Best,
- Joe
 
C

Craig Allen

it's commercial, but I like WingIDE enough to recommend... I run it on
Linux and Mac and it works well.

-craig
 
P

Peter Anderson

I have been using the two following Python IDE's on both Windows and Ubuntu:

* PyScripter - http://mmm-experts.com/
* DrPython - http://sourceforge.net/projects/drpython/

PyScripter is, I think, the better but both are nice editors and easy to
use.

Regards,
Peter
--
*Peter Anderson*
There is nothing more difficult to take in hand, more perilous to
conduct, or more uncertain in its success, than to take the lead in the
introduction of a new order of things—Niccolo Machiavelli, /The Prince/,
ch. 6
 
T

Tim Cook

Hi All,
I am just wondering what seems to be the most popular IDE.


Well, you have already had many replies. For some context; I am an
serious open source advocate. But for productivity I haven't been
able to beat WingIDE. Their support is AWESOME! also.

I have tried most of the FOSS offerings and I would like to see them
compete. However, when it comes to tools...
I have to use what works for me; that is Wing.

As said before, they are not open source and not free. But if you
only work on FOSS apps, you can get a free license. I chose to pay
for a copy after having a FOSS copy because they are so good at
support. I do not think you can beat the features.

--Tim
 
P

Propad

Hello,
I also purhcased my copy of Wing IDE six months ago, after having used
Idle, Scite and Leo quite extensively. I gave PyDev two tries, one in
the begining of 2006 and another spring this year. Although PyDev
looked promissing and the main annoyances from the first try (like an
intelisense that needed half a minute) had been solved, I was still
missing some things, like a realy good integration of the python shell
into it.
Wing convinced me pretty fast. It is just specialized to Python, one
can see they have been around in the Python community for a while. I
find the context-based intellisense they do quite usefull, and just
started appreciating the information about functions and methods at
the cursor that they offer.
Yeah, I find they are serious. I had tried Wing maybe 3 or 4 years
ago, at that time it looked just so ugly I didn't want to consider it
any further. But that has also changed. Now it looks OK.
So, yes, I can recommend Wing IDE. It is a good tool for a Python
professional.
Regads,
Propad
P.S. In fact, yesterday I found one first bug in Wing IDE. I hope the
support is as good as they say - I'll give you a note on this thread.
 
J

Jorgen Grahn

Now, following that route, many people call Eclipse is the 21st
century Emacs... ;-)

I don't want to kick off an editor war or anything, but I don't think
that Eclipse is anywhere near being a 21st century emacs, unless
there's been a whole lot of progress with it since the last time I
used it. [...]

Isn't Eclipse kind of project oriented? I.e. not suited for opening a
single file, anywhere, and viewing/editing it. I get the impression
that it prefers to have some "project" or "workspace" file which
groups a set of files and contains configuration, build rules and so
on. The guy three postings up suggested a general-purpose text editor.

(As a side note: I don't use Eclipse myself, but I have seen novice
programmers editing Python code with it, and what saw wasn't
impressive. They *did* some kind of Python "plugin" installed, but
were sitting there pressing SPACE to indent every line manually.)

/Jorgen
 
J

Jorgen Grahn

This speaks to the twin facts that people want different things, and
that Python is flexible enough to accommodate these differing desires.


Perfect for whom, exactly? Perfect for what, exactly?

These are not facetious questions: they cut to the core of your quest.
I am convinced that your quest for a development environment that is
?integrated? (or ?tightly-coupled?, in programming terminology) is
incompatible with any useful criterion of ?perfect?.

Instead, I find the greater gain comes from a working environment of
*loosely-coupled* tools, with standard well-defined interfaces, that
one can flexibly mold and reconnect to meet whatever task is at hand.
The deeper this extends into the operating system, the more the system
as a whole will be able to support this flexibility, and the more
likely the tools will have been designed to do so.

Because of the inescapable central role in our craft of manipulating
text files, essential in this development environment is a
highly-customisable text editor with a broad *and* deep library of
existing customisations, to maximise the amount of work already done
for you when embarking on work in an area that is, to you, new.

It happens that the text editors which meet these criteria are limited
to Emacs and Vim, with a sharp decline in suitability (by these
criteria) beyond those two. Both have powerful user-customisable
capabilities and a mammoth availability of existing extensions for a
staggering variety of tasks. Learn one of these editors well,
familiarise yourself with how to access the rich library of available
extensions, and make the text editor the core of your loosely-coupled
development environment.

You think like I think, but I think your standards are too high. I
like claiming "my IDE is Emacs and Unix", but in fact I know very
little about how to customize Emacs using elisp -- I have added a few
keyboard shortcuts, made it use a readable font, and disabled a few
silly features, but that's about it. I use a Unix shell on the side
to do the non-editing tasks which I guess you train your editor to do.

So, my requirements on the editor boils down to:

- free and universally available
- will still be around when I'm dead
- capable as a pure text editor
- support for colorizing Python code (at least strings and comments)
- helps me indenting Python code
- support for other languages

I hope many editors fulfill those criteria, except maybe the first
two.

/Jorgen
 
P

Pat

Steve said:
Hi All,
I am just wondering what seems to be the most popular IDE. The reason
I ask is I am currently at war with myself when it comes to IDE's. It
seems like every one I find and try out has something in it that
others don't and viceversa. I am in search for the perfect IDE and
after many months of searching, I always come back to IDLE to do what
I need to do. I want to use Komodo badly but the one issue I have with
that is sometimes the auto-complete works and other times it doesn't.
Even if I carbon copy a script.

Thanks in advance,
Steve P

I've been using Wing IDE Pro for about a month or two and I'm very
satisfied with it.

Is it "perfect"? No. However, I've been communicating the developers
on some of the minor shortcomings of Wing and they've been extremely
responsive. I usually get a return email within a few hours sometimes
minutes.

The nice thing is that you can download and try a completely
non-crippled version for 30 days (10 days at a time).

What I particularly like about it is that it's for Python only. I find
Wing much easier to use than Eclipse and, thankfully, it's not written
in Java which seems to takes Eclipse all day to load.

The integrated Python shell recognizes your variables so while you're
debugging you can interact with your code.

I could go on, but I've got to get back to work.
 
J

Jorgen Grahn

I would personally recommend that you take the time to learn your way
around a powerful text editor such as emacs or vim (I use emacs,
myself), however that may not fit well with your personal editing
tastes, and the learning curve is a bit steep. The editing tastes
problem can be solved once you learn your way around a powerful text
editor (emacs, for instance, is practically infinitely customizable),
and the power you get from using them is amazing.

I agree. And the reason is this: learning to use a text editor well
takes years -- meaning that after years you still learn new things
that help you type better/faster/with less strain on your ancles. You
don't want that to be tied to programming Python.

To pick an example: what Emacs calls dabbrev-expand. You type a
few letters of a word, call on dabbrev-expand, and cycle through
words in your open files which start with those letters. This is
very useful in Python code, but it's equally useful when writing
mail, C code, documentation ...

Most people I've seen programming use their editor as if it was
Windows Notepad. It's easy to get an advantage over them, by being
willing to learn a bit. (The downside is that watching them program
will be like watching someone trying to ride a bike with flat tyres ...)

/Jorgen
 
F

Fabio Zadrozny

Isn't Eclipse kind of project oriented? I.e. not suited for opening a
single file, anywhere, and viewing/editing it. I get the impression
that it prefers to have some "project" or "workspace" file which
groups a set of files and contains configuration, build rules and so
on. The guy three postings up suggested a general-purpose text editor.

Yes, it prefers to have a project or workspace (which really helps you
navigating through the source, so, it's one thing I usually see as
positive, not negative). Still, you can use it to edit files outside
of its workspace -- that's supported on Pydev -- but it looses some of
those features (which are not usually available on regular editors
anyway, so, that'd probably be ok if comparing with an editor, not an
IDE)
(As a side note: I don't use Eclipse myself, but I have seen novice
programmers editing Python code with it, and what saw wasn't
impressive. They *did* some kind of Python "plugin" installed, but
were sitting there pressing SPACE to indent every line manually.)

Not sure which plugin they had, but I'm pretty positive that if they
had Pydev installed they'd have auto-indent without any problems (I
can assure you that auto-indent is a feature that received a lot of
attention in Pydev).

Cheers,

Fabio
 
J

Jorgen Grahn

Not sure which plugin they had, but I'm pretty positive that if they
had Pydev installed they'd have auto-indent without any problems (I
can assure you that auto-indent is a feature that received a lot of
attention in Pydev).

Ok, then it wasn't Pydev, or a very old or misconfigured one. I didn't
know at that time whether there was decent support for Python in
Eclipse or not, so I decided whatever the problem was, it was their
problem :)

/Jorgen
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,183
Messages
2,570,970
Members
47,526
Latest member
RoslynDavi

Latest Threads

Top