TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TCLUG:13146] VI quick reference



On Mon, Jan 31, 2000 at 09:56:27PM -0600, Eric M. Hopper wrote:

> Well, what works for you isn't important.  What's important is all the
> difficulty students have in using it.  Most people find the idea of
> using h, j, k, and l to move around the be rather unintuitive.  And even
> if your version of vi supports the arrows keys, the idea of having to
> hit 'i' before you type anything confuses people no end too.  It just
> isn't how people expect things to work.

People think "outside the box" every day, Eric.  Just because it isn't
intuitive doesn't mean it's not useful.  In fact, children should be
taught things that *aren't* intuitive, just for the exercise.  If we all
expected things to act intuitively, we would never find need to think
"outside the box."

> It's bad enough they're being thrown all kinds of difficult (for them)
> programming concepts they have to quickly get a handle on without
> throwing a non-intuitive editor at them.

*sigh*  non-intuitive.  Can you *seriously* call ANY console-based text
editor intuitive.  There is a learning curve and an adjustment period you
must work through for ANY tool you use, dual-edit mode or no.

> They should be told vi exists, and if they want to take the time to
> learn it, more power to them.  Maybe it is, in the long-run, better.
> But I know that most people find it extremely frustrating to work with
> when they first touch it, and they find modeless editors much easier to
> work with.

Now, before I worked for NLDC as a programmer on DEC Alphas, I was an
EMACS NUT.  I did everything in it.  I even learned a little e-lisp.  When
I asked if we could install emacs on the DEC, I was shot down because it
was a production development machine; the environment on the machine must
be the same as the one in production...no unnecessary garbage attached.
So, I was forced to learn how to use vi.  I knew how to use it, but didn't
know it's potential and ease of use.  Yeah, h,j,k, and l may not be
intuitive at first, but damn!  They're all on first row!  This revelation
hit me like a brick!  I didn't have to use ^N and ^P to go to the next or
previous lines, ^W or ^B to go forward or backwords.  All I had to do was
hit the escape sequence, ^[ and all of a sudden I could move anywhere by
typing a number and the direction I wanted to go!  Talk about saving
keystrokes!  As time went by, I learned other cool tricks and found that
vi actually had macros akin to emacs.  So, I started to create little
helper macros, such as comment blocks.

So, you can see that I believe vi to be a very powerful little editor, yes
little, yes powerful.  Yet, that still isn't my point.  My point is still
the fact that intuitive design is nothing more than perception of the
user.  In all cases, the user must learn the nuiances of a new tool, a new
language.  If that tool has similarities to an old, more familiar tool,
the user will most likely be more comfortable using it, thus where
"intuition" is born.  I argue that it is familiarity that is what makes a
good editor a great editor, and thus an intuitive editor.

Regardless of familiarity, we're talking about High School students, here.
On average, I doubt these students have any quantity of familiarity in
console editors.  Learning C++ and an "unintuitive editor" at the same
time can be rough?  I argue that because they're learning "unintuitive
thinking" in C++, a little "unintuitive editor" won't have much impact on
them.  Call me crass, but I think it's good for them.  They're building
the blocks of "intuitive" thinking and "thinking outside the box" in these
young years.  Throw it at em and see how they do.  The ones that grasp
things more quickly will excel.  The ones that don't won't suffer if the
teacher is worth any weight in gold and can recognize the problems,
perhaps offering them a "more intuitive" editor to use (like the
mouse-click "notepad").

Remember, these are smart kids.  They wouldn't be taking a programming
class if they weren't intelligent.  Remember, these are smart teachers.
They wouldn't be teaching C++ and vi if they weren't.  I think we need to
give more credit to these children and teachers than exclude them from a
learning experience because things are "unintuitive."  That's precicely
the reason they're there!

Sorry, rant off.

-- 
Chad Walstrom                         mailto:chewie@wookimus.net 
a.k.a ^chewie, gunnarr               http://wookimus.net/~chewie

PGP signature