[wingide-users] WingIDE versus PyCharm, Komodo and PyDev
Carlos Daniel Ruvalcaba Valenzuela
clsdaniel at gmail.com
Sat Oct 16 12:02:39 MDT 2010
Having used both WingIDE and PyCharm I have noticed the differences
between those two products, which boils down to:
1) Code Analysis (Code Assistance, completion, refactoring, etc):
WingIDE code analysis is top notch, I dare to say it is the best right
now, although in the past it used to struggle with PyGtk for example,
refactoring could really be improved and so far I like the tools from
PyCharm in this regard (although they are far from perfect too), there
is no clear winner here.
2) Debug: WingIDE Debug probe is still unsurpassed by any other
competitor period, PyCharm for example has only simple variable watch
and inspection, which even then fails from time to time to inspect
environment and objects at break points. If you are doing run time
analysis or lots debugging (an you will) WingIDE is clearly the best
3) Licensing: I got to admit this is a clear win for PyCharm, WingIDE
license is very specific, per developer, per install per OS, while
PyCharm is a bit more lax being per user/concurrent use, which means
one license is enough to install in all my systems/OS so long I only
use one at the time, this was a huge plus for them, in this area the
winner would be PyCharm.
4) Community: WingIDE community is a bit more mature (It has been
around more years) and support is top notch too, PyCharm support is
also good and timely. But in this area I would go with WingIDE.
While both IDE's are very nice WingIDE remains as a tool of choice,
however, I must warn that PyCharm is going at it fast and
aggressively, it's feature set is impressive for their first release,
it is good to see the entry of another competitor in the Python IDE
On Sat, Oct 16, 2010 at 1:20 AM, Luc Bourhis <luc_j_bourhis at mac.com> wrote:
> Would it be possible to get a summary of what strengths (features,
> licensing, community, etc.) WingIDE has versus those other IDEs?
> I would like to add to the positive noise here. This email is long because I
> felt Wing deserves to be thoroughly praised.
> First a word on my background. I work on a large scientific project (the
> Crystallography Computational ToolBox) which is written half in C++ and half
> in Python, using Boost.Python to bridge the two halves. I share my time
> between Wing to work on the Python side and XCode for the C++ side (I am a
> MacOS user).
> 1) Code introspection and auto-completion
> The first killer feature to me is the source code introspection performed by
> Wing. It comes in 2 variants: static, by importing modules one at a time,
> and dynamic, when the code is run through the debugger. When I write
> "module", I mean either Python modules or compiled extensions written in C
> or C++. Static introspection finds more class and object features than the
> debugger but the former is already extraordinary precise.
> Wing's attention to details shows here: in case the statically inspected
> module runs code from other modules during the import, Wing can be
> instructed to run some Python code prior to import a specific module, so
> that the import of the module to be introspected succeeds. Wing comes fully
> set up with such import tweaks for popular packages such as Qt, wxWidgets,
> pygtk, etc and the users can add their own. I used that feature on a daily
> basis to my delight for my own Boost.Python extensions.
> None of Wing competitors that I tried (Komodo, PyCharm) come even close to
> the quality of introspection that Wing achieved. That Wing is able to find
> the class methods defined in Boost.Python C++ wrappers and then proposes
> those names in auto-completion dramatically boost my productivity. It should
> also be noted that Wing does static introspection very quickly, in the
> background, when needed and that one is never confronted to a progress bar,
> having to wait for the analysis to finish (contrary to PyCharm as far as my
> testing went).
> 2) The debug probe
> The debugger features a Debug Probe where one can execute any Python
> expression and see the result of its evaluation. That can be a simple
> attribute lookup, a list comprehension, or even opening an OpenGL display to
> visualise the molecule I am currently working on. This is a killer feature I
> could not live without. Wing also features a tool (called Stack Data) to
> classically display the local variables and their attributes as nested lists
> as well as a classic Watch tool. They are very good but I never use them
> though because I am faster with the Debug Probe.
> Actually, this changed the way I program. I often run the code up to a
> breakpoint at the section I am currently developing. There I use the debug
> probe to try several alternatives. I then copy the one I am satisfied with
> into the code, then kill the debugger and run it again to a breakpoint
> slightly further down. Then carry on in the same manner. This has proved to
> be a very efficient way of developing Python code to me.
> 3) Support
> This very mailing list demonstrates how great is the support from Wingware.
> I encourage you to browse the history of the mailing list to witness how
> Wing developers respond to every single question or request, quickly, in a
> very positive manner. Emails directly sent to their support line are
> typically answered within a day or two. I have got questions answered on
> Sunday several times too. I have never experienced this level of customer
> support ever. Not only do they fix bugs in due course but they also listen
> to feature requests.
> Luc Bourhis
> Computer Scientist
> Chemical Crystallography Laboratory
> University of Durham, UK
> Wing IDE users list
More information about the wingide-users