ActiveState going the wrong way

D-Man dsh8290 at rit.edu
Tue Apr 10 17:38:37 EDT 2001


On Tue, Apr 10, 2001 at 03:27:40PM -0500, David Huttleston Jr wrote:
| On Tue, Apr 10, 2001 at 01:34:05PM -0600, Dave Brueck wrote:
| > > | Can gVim do the following?
| > > |
| > > | a) Have autocompletion / intellisense in the editor.
| > >
| > > no, this is one feature that would be really cool.  OTOH, it makes for
| > > a lazy coder who can't (doesn't, rather) remember the
| > > function/variable names.  (This is from experience using JBuilder for
| > > a while)
| > 
| > Hi D-Man,
| > 
| > Lazer coder? How about "makes for a more productive coder". Just as Python

Well, it depends on how you evaluate it.  I found that when I was
relying on JBuilder's auto-complete I didn't really know the function
names, and I couldn't describe it very well to others without first
looking it up.  (Admittedly, I wasn't very experienced with the Java
libs yet, and hadn't used java for about a year)  I didn't have to
spend the time to look it up when I typed it, but I had to search
through the possible completions each time I type it.  I've been using
gvim much more heavily (like, completely -- it is just too powerful to
leave behind when modifing stuff) for quite a while and I find that
while I must look at the docs in netscape, I have to look less since I
remember what the function names are.

I'm not saying that auto-completion is a bad feature, but too much
dependence on it is.  Maybe it is just the way the comletion worked in
JBuilder and/or my experience level.  I'm thinking of bash now, and
how I _always_ use auto-completion, yet I know the command/program
names pretty well.  Whenever I am at a csh or DOS shell, I get lots of
whitespace, then I complain and type the whole command or filename
<wink>.

| > Lack of autocompletion tends to _encourage_ laziness and _lower_
| > productivity. One example is that because the coder has to type out the full
| > variable and function names he ends up naming them something short and less
| > descriptive, making the code less clear and harder to maintain. Worse, the
| > coder then adds a useless comment to tell the purpose of the function, the
| > same information that a decent function name would have conveyed.

I tend to like short _and_ descriptive names, sacrificing shortness to
improve effectiveness.  If method/variable names are consistently very
long, they won't fit on a line very well, and can make it harder to
read.

It's all about balance.

| use ctags (aka Exuberant CTags http://ctags.sourceforge.net/) to provide
| most of what you want from code-completion.  In addition, ctags allows
| quick navigation through source code using mouse or keyboard to jump to
| the definition of a class or function and back.  CTags supports python, 
| java, c, c++, eiffel, and many more languages.

Oh ..., yeah ..., ctags.  Something I've been meaning to learn about.  I'll
have to remember what they do, and go learn them soon!

|   Current I use Emacs because I find the Object Browser and the JDE package
| provide a more complete enviroment for java and jython which we use heavily.

The JDE package is pretty cool.  I used emacs for a while (~ one
quarter of class, then I forgot all the commands, and learned how to
make vim behave nicely (real vi doesn't have all the comforts needed
for coding, IMO)).

JDE is quite close to what I would want in an IDE -- a browser on the
side to view the files/modules/classes and jump to it in your editor.
Perhaps scripting vim with python, or using python to drive (vim |
<your favorite editor with python bindings attached>) would be the
solution.


-D





More information about the Python-list mailing list