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