On Mon, Feb 27, 2012 at 3:20 PM, Alexander Yakushev
<yakushev.a...@gmail.com> wrote:
> On Feb 27, 10:00 pm, Cedric Greevey <cgree...@gmail.com> wrote:
>> The emacs learning curve is more like a vertical cliff face than a
>> ladder with lots of small steps...
>
> I still don't get the point you are trying to bring.
> Is it "You can't be productive with Emacs"? If so then you are wrong
> and because Clojure developers prove otherwise.
> Or is it "You can't teach a new user to use Emacs effectively"? Once
> again I don't think this to be true, noone is born with Emacs
> shortcuts in his spinal cord.
>
> Please explain you position so I can take a better look from your
> perspective.

It is, of course, neither of those things. Instead, it is "An
autodidact cannot quickly learn to use Emacs"; also, "a new user will
be frustrated trying to learn Emacs, particularly unassisted". Both
mean that an Emacs newbie cannot, under normal circumstances, expect
to be productive very quickly, not the way they could be in, say,
clooj or Enclojure.

This, in turn, appears to make "novice-friendly" and "Emacs-based"
mutually exclusive, where by "novice" is meant "not a pre-existing
Emacs user, perhaps among other things".

As for the vertical cliff face specifically, the cause (based on my
own attempts to use it on some Unix system some time ago) seems to be
the way Emacs doesn't do *one single thing* in common with *any*
popular software user interface. It's a nearly perfect circle of
protection from newbies getting a grip on it. On the one hand, many
basic editing functions have different and unguessable key bindings.
OK, no problem, right? There's help, even a tutorial, etc. But when
you open the help, it opens by the Emacs editor splitting down the
middle, inside of Emacs, rather than as a separate thing. And because
it's inside Emacs, the help's got idiosyncratic key bindings of its
own. The complete newbie will have no clue how to (or even if they
can) search it (no perceived affordances, in HCI-speak) and will have
to scroll up and down skimming the text to find stuff. Of course, then
there's the final plate in the newbie-proofing armor: once you've
found the section on how to do X (say, paste, or even save and quit),
now you need to get the input focus out of the help side of the
display and back to the side with your text file in order to actually
do it. Only problem is, the obvious (alt-tab, control-tab) of course
don't work and so you can't get back without scrolling around in the
help file some more, to find out how to switch the input focus between
panes.

The final straw will be when you discover that you *can't have the
input focus in the editor with the how-to-do-X instructions displayed
in the help pane*. Either the input focus is in the editor but the
how-to-switch-panes instructions are in the help pane, or the
how-to-do-X instructions are in the help pane but the input focus is
in the help pane. The only way to get to the editor and do X requires
you to either memorize the how-to-do-X instructions, navigate to the
how-to-switch-panes instructions, switch panes, and then do X, or
memorize the how-to-switch-panes instructions, navigate to the
how-to-do-X instructions, switch panes, and then do X. And remember
how to switch panes again when the time comes to now dredge up the
help on how to do Y.

The problem is that both require keeping one set of instructions
memorized *while finding, reading, and performing the other*, which
will tend to cause you to forget the first set, due to the limited
size of human working memory. If even one of the things (say, how to
switch panes) was second-nature from repeated use (like alt-tab
already will be), this wouldn't be an issue, but since *every single
thing* is done differently in Emacs, *none* of them will be
second-nature to a new user, and with the above effect resulting from
that, the new user cannot get anything nontrivial done until at least
a few of these things are second-nature, which point they won't get to
until they have spent a while using Emacs to get things done, which is
a clear Catch-22.

Basically, just to do common editing tasks will require you to
actually *take written notes*, or at least use a separate open
Notepad/whatever window in your operating system, and if you're going
to use Notepad (or even pencil and paper!) why are you not just using
Notepad instead of Emacs? It gets to be a "what's the point" sort of
thing.

(And it used to be even worse, or so I hear, back in the 70s or 80s.
No arrow keys, so even scrolling in the help couldn't be done in an
"obvious" way even to find out how to scroll in the help; and no
"press <whatever> for help" status-line or whatever right after
startup, so if you even got the help to display at all, it was by
sheer accident and/or button-mashing, and you were damned if you knew
how to make it happen again.)

Now, in theory, learning how to use, say, Windows has the same initial
cliff-face hurdle. Once you know alt-tab, you can have help open to
anything alongside anything else you're working on and switch between
them, in particular, but until then, you would have the same
difficulty working on something while having relevant help visible
onscreen. Of course, you probably got shown the ropes early in life,
rather than having to (try to) learn on your own. And there's another
thing: with Windows, MacOS, or any other GUI convention, you only have
to get over that hurdle *once*. Once you know this you know it for
*every native application, existing or yet to be invented*.  You also
get the basics for editing in text boxes and input forms in every
native app. And what to expect OK, Cancel, etc. buttons to do. And so
on, and so forth. On the other hand, once you have Emacs's
switch-panes command memorized, you know how to switch panes in Emacs.
Not only can't you leverage your existing knowledge of alt-tab or
anything else in Emacs, you can't leverage your hard-won Emacs
knowledge anywhere else either. And it loses a lot of potential value
that way, by network effects, or rather lack of same.

So, nowadays, in the age of widespread UI conventions, learning Emacs
is like building up a big movie library on Betamax cassettes. You can
use it, sure, given you keep a player in working order; maybe you can
even share it with some enthusiasts; but it's not nearly as valuable
as if you'd chosen some other format. :) Of course, for preexisting
Emacs users it's a sunk cost. They may as well stick with what they
know. But the difficulties, and lack of transferrable knowledge in or
out, make it a dubious proposition for new users.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to