Who would be old school python developer?
Development April 3rd, 2008
Two posts (here and here) in programming.reddit.com discussed the state-of-the-art python IDEs. Two of them really arouse my interest: Komodo Edit and IronPython Studio which is honorably mentioned in the comment.
Komodo Edit is the shrunk-and-free version ActiveState’s flagship Komodo IDE. It is rooted in the same technology as Firefox, using XUL framework to render the UI, same Add-on mechanism to support 3rd-party package, and the UI is quite clean, eye-candy lacking in another term:

Furthermore, thanks to ActiveState’s generosity, there is an open source initiative openkomodo’s Snapdragon project to build a full-fledged IDE based upon the Komodo Edit’s code base. Though I suffer the huge memory footprint of Firefox from time to time, I still believe this is a much lightweight IDE compared to the versatile Eclipse.
Another option is IronPython Studio based upon award-winning Microsoft Visual Studio technology. Whether you like it or not, we have to admit that lots of programmers would feel at home when using familiar interface. However, strictly speaking it is not a python IDE, you are locked to IronPython, and most likely you could not resist the temptation to use .Net and WPF. And at the end of day, the ultimate question may emerge: “Why not use C#? The syntax is quite similar, and we are no longer treated as second-class developers.” I doubt that Silverlight may make a difference if you are not a Web developer.
The last but not the least question when I read through all the comments. I was quite amazed to find so few comments from the die-hard old school guys. Here is one comment about using Emacs and python mode, how about Vim users? Did they just disregard this kind of flame-prone discussion or already lost the faith to convince the other world?
So if you happened to be a heavy-weight Vim user and program with python, I would appreciate if you could drop a message here to share your experience.
I’m VIM user :-) I’m using it with ctags and gnu id-utils. I know that VIM 7+ has omni-complete (aka autocomplete) but I have never used it. Ctrl-N, Ctrl-P is everything I need when I have everything tagged :)
In addition I love and “abuse” the fact that you can write vim plugins using python.
Vim has tabs, sessions, supports various encodings, is highly configurable and extensible. What have I missed?
+1 VIM Python programmer, but unfortunately not an complete expert doing fancy things with it, yet.
Well, I’m a heavyweight Emacs user, not vim, but I do a lot of Python
work in Emacs.
I think really that “IDE” suggests a lot of features that aren’t very
well supported in Emacs or vim. There are plugins for autocompletion,
mechanisms for searching for definitions (etags), etc. But I think
that hardcore IDE users would look at Emacs or vim and hold their
noses in disgust: they are simply too ‘different’.
I used Komodo for a very short period, many years ago, and I was
astonished by how heavy and slow it felt. (And Emacs is famous for its
bloat!) I also found that I didn’t use most of the included features,
and that many of the “metaphors” they used (such as the Project
concept, I think that’s what it was called) did not map onto my normal
way of working. It was after Komodo that I became a serious Emacs
user, and for me it was the right decision. Emacs is an excellent
environment for editing code if you are willing to accept the learning
curve. (And so is vim).
There are also some things that are so easy to do with an editor, and
so difficult with an IDE. I do a lot of development work over SSH, in
a GNU Screen session, with Emacs running on the server side. My
development is all done on the server, from my desktop. That is a
powerful way to work, and is very cumbersome to imitate with an IDE.
Personally I think there will always be people who prefer IDEs, and
others who will always be annoyed by IDEs. There is much room here for
varying tastes and working styles.
Oops, sorry for the bad line breaks in my earlier post. I edited my text (in Emacs!) and formatted it before pasting. :-)
Well, I’m not exactly an “old school” since I’m only using linux since two years and a half, but I’m using vim/python as favourite ide/language. So pyton in vim happen fairly often.
I did not set up a lot of language specific features, like class browsing or template replacement (insertint ‘)’ after cursor when I type ‘(’ but anyway I’m happy with it.
I mainly use vim for flexibility, I’m not very fast with it for basic tasks (but coding is not about typing fast IMO) but for complex tasks like regexp search and replace, automating repeatitive tasks and such it’s definitively windderfull, I know more and more tips with it (I dont actively learn vim, I know the bare minimum sice a long time but I’m discoreving new features in no particular order).
Exemple of a killer feature I found recently? in insert mode ctrl-y type the same thing as the same place on the line just above… just change the variable considered and continue the line. neat…
I’m happy with the syntax color, things like autoindent and code folding. Things that other editors had for years obviously, but vim as so much more usefullness from time to time…
Also I _often_ work over ssh… so being familiar with one of the most powerfull (well THE most ;)) text editor usable out of X is a good thing.
ps: your blog suck on small screen, near unusable, I fired vim to finish the typing of this post, as I did not see half of my sentences…
I like using Vim for Python. It has syntax highlighting, it has autocomplete, I can program Vim using Python, I can run tests and builds and such from Vim, and I can drop out of it to do command line hacking.
The downside to Vim is the learning curve. If you’re doing that just to hack Python, it’s probably not worth it. If you’re doing it to have access to a good and powerful general purpose editor, you probably aren’t going to start by seeing it in the context of Python IDEs.
I’m a full-time Python developer and I use ViM exclusively. What are you looking for, beyond confirmation that I exist?
yes, vim rocks. am usiing it for server-side python programming and client-side gtk gui programming. too busy writing code to join a useless flamewar :) enjoy!
I uses Vim exclusively for almost everything before I joined Microsoft. In our lab, there is a emacs evangelist and a die-hard nano user as well; quite fair. :-)
For python programming, usually the environment is a terminal, unicode-rxvt or konsole, screen, and the python interactive environment. I doubt whether ctags or any other regex-based tool would handle the complexity of the dynamic language. For example, the suds library I am playing with recently dynamically generate the SOAP method call objects, there is no way to get the knowledge of the signatures without loading and executing the code.
BTW, in MSFT, Vim7.0 is also available in our toolbox besides Visual Studio.