theme of the week: tools
Jeremy Jones
zanesdad at bellsouth.net
Fri Sep 24 09:33:36 EDT 2004
Since a recurring theme this week has been tools, or Python's _obvious_
lack of good tools ;-) (which isn't so obvious to some of us) , it's got
me wondering. What tools do Python developers use and consider
indispensable to helping them write code better* - and what features of
those tools would you have a hard time living without? (I hope I'm not
going to start a holy war between hardcore Vi and Emacs folks here...)
Personally, I use vim/gvim as my primary editor. Features I would have
a hard time living without are (and I know that a lot of these are
available on most decent editors):
* split window editing
* powerful search and replace that is simple to use
* column editing
* multiple position marking and instant navigation back to any
marked position
* auto-indent
* indent/unindent highlighted code
* key mappings - this is one of the biggest reasons I continue to
use vim. While the key mappings are counterintuitive to learn
(why would you type a "k" to go up, "j" to go down, etc), once you
get it, it's just so natural and doesn't feel like you're
contorting your hands to do stuff. I've tried several times to
like emacs, but every time I do, the key bindings just feel
abnormal (C-<anything> is typically OK - but M-<anything> just
feels weird...feels like my fingers are stumbling over one
another....). And, yes, I've tried vi mode and viper.
* easy highlighting of text
* easy copy and past
* multiple registers (clipboards kinda) for storing text
* repeat last modification (.)
* map command for creating macros
* bracket matching (with %)
* probably tons more.....
Another tool that I use that I just started using but I'm finding
indispensable is IPython. Features:
* tab completion - this is probably the hugest benefit.
* executes (some? all?) OS commands without having the exit out -
tab completion works on filesystem paths here
* probably more....but I'm still digging into this
Other "tools":
* Python debugger (pdb)
* PyChecker
* Epydoc
* Google
* Python Site - library reference
* C.L.P
That's all I can think of for now....
Jeremy Jones
*better = more productive, higher quality, easier maintainability,
easier refactoring, etc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20040924/62831dbf/attachment.html>
More information about the Python-list
mailing list