Friday finking: IDE 'macro expansions'

2QdxY4RzWzUUiLuE at potatochowder.com 2QdxY4RzWzUUiLuE at potatochowder.com
Thu Mar 16 20:06:01 EDT 2023


On 2023-03-17 at 11:55:38 +1300,
dn via Python-list <python-list at python.org> wrote:

> Do you make use of your IDE's expansionist tendencies, and if-so, which
> ones?

Expansionist tendencies.  Nice phrase.  :-)

> NB this is where vi/emacs enthusiasts start chuckling (polite term for
> 'insane cackling') ...

Long time (since the 1980s, when you had to edit config.h and compile it
yourself) insane emacs enthusiast and "Unix is my IDE" claimant here.  I
used one language that required a special editor because the "source
code" was a semi-compiled byte stream instead of ASCII.  A coworker once
awarded me a black belt in vi for knowing how to indent and unindent
code.

They made me write in Java at my last job; that language encourages IDEs
beause they deny that the underlying OS and tools exist at all.  I used
to say that some of my coworkers weren't writing Java, they were writing
IntelliJ.

Anyway, the short answer to your question is no.

I think the main reason is that there are/were too many editors in too
many contexts to start depending on such features.  What happens if I'm
editing on a target box instead of my desktop?  What if I'm helping a
coworker, and they use a different editor (different tools for different
programmers)?

> I haven't made use of such a tool, to-date - OK, yes, I have practised a
> high typing-speed (and accuracy). Puff, puff...

I, too, type relatively quickly, which definitely relieves some of the
appeal.  Saving a few keystrokes isn't worth the extra congnitive load
to remember how to use those features.  And by the time I edit the
template, it's more keystrokes (and usually cursor motion and
placeholder deletion keystrokes not related to the programming task at
hand) than if I had typed the full code in the first place.

> Also, at the time, I'm thinking in 'code', rather than about what tool might
> implement said ideas.

Exactly.  Any excursion away from the programming language and the
programming task at hand is disruptive.

I did finally train myself to use Emacs' dabbrev-expand function, which
completes the current "word" according to the previous occurrance of
that word, which lets me use longer identifiers without having to type
them out or copy/paste them.  That said, I often find myself typing
stuff out anyway, again because any deviation from writing code is a
deviation from writing code.


More information about the Python-list mailing list