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