4 ms·
I just don't think there's a market for yet another Simplified Emacs. Isn't that what jove and joe and nano are for? Isn't that what every other editor on the m
by mechanical_fish 18y ago
I just don't think there's a market for yet another Simplified Emacs. Isn't that what jove and joe and nano are for? Isn't that what every other editor on the market is for?
The problem with learning emacs is that there are two phases. There's the stuff that you have to know or you can't do much of anything. Some of that is inevitably complicated, because it's slightly different from anything that a Mac or Windows user has seen before -- keyboard navigation, multiple modifier keys that can be used consecutively, keymaps and keybindings, major and minor modes, kill-and-yank instead of cut-and-paste, buffers, Emacs "windows" versus OS "windows", panes, prefix arguments).
The idea of having a gradual reveal of these features is a good one. But isn't that called the "emacs tutorial" and hasn't it been built into the editor for twenty years? ("C-h t"). Other people have argued that some of these features should be altered or compromised or disabled for new users -- it has been tried many times. I'm of the camp that hates this: You shouldn't screw up the carefully-designed semantics of emacs by installing Mac-style copy-and-paste. If you want to just visit the emacs world but aren't yet prepared to live there you should just go use TextMate or something in the meantime. It's not as if there are no alternatives.
The other, much larger portion of the learning curve is all the nonessential but incredibly powerful stuff that emacs can do: macros, customization, Dired-mode, shell-mode, hippie-expand, dabbrev, yasnippet, magit, Lisp interactive mode, gnus, org-mode, ido, Icicles, Zippy the Pinhead, Towers of Hanoi, blah blah blah. But it would take freaking forever to design a video-game-style walkthrough of all of that stuff, and the result would take forever to play through, and it would bore a lot of people because everyone's favorite 10% of the emacs universe is different.
I do think the emacs world would benefit from a lot more screencasts, but I'm not sure that going beyond that to game design is worth the trouble.
- silentbicycle 18y agoUnless it's radically different. There's a lot of cruft in Emacs (I mean, it has enough mass to pull things into orbit...), but little of that has anything to do with what makes Emacs fundamentally powerful: it's an emulated Lisp machine. I know I have a fierce minimalist streak, but I wonder what could be done with a new Emacs with a clean break - all of the mini-Emacsen I've seen (e.g. mg) have preserved the default keybindings (C-x C-f, C-n, etc.) but dropped the core extensibility. Perhaps the reverse would be more fruitful? We haven't reached a dead end for editor (or interface!) innovation yet - look at ACME (http://doc.cat-v.org/plan_9/4th_edition/papers/acme/ http://doc.cat-v.org/plan_9/4th_edition/papers/acme/), for example. I don't like it (it's too mouse-centric for my taste), but it has quite a few interesting ideas, as does plan9. Probably, Emacs will absorb most interesting features from other editors instead ("worse is better" and all that), but good may come of questioning its assumptions. I'm just trying to start some interesting discussion. Slow news because of the holidays, and all.
- mechanical_fish 18y agowhat makes Emacs fundamentally powerful: it's an emulated Lisp machine. There's a big difference between fundamental power and actual usefulness. A volcano is fundamentally powerful, but good luck trying to convince it to build your house for you. In practice, a useful fundamental power will sooner-or-later manifest itself as a big, complex, occasionally sloppy ecosystem of useful tools. We don't interact directly with geothermal energy. Instead, some people build generators that turn it into electricity, and then other people build factories to build fans that run on the electricity, and then shopkeepers build stores that can sell the fans. So, when I need to be cool, all I need to do is buy a fan, plug it in and turn it on. I don't need to start from scratch and build it all for myself. What am I saying? I'm saying that you're welcome to start over with an emulated Lisp machine and a set of minimalist editing commands. And then you're welcome to build useful things like (e.g.) js2-mode on top of that minimalist editor. But then you will slap yourself on the head because you will discover that you've gone to all this trouble, but all you've done is rewritten emacs! Meanwhile, if I want to edit Javascript, all I do is download Yegge's js2-mode and turn it on. But would rebuilding emacs in an innovative way be a good thing? Yes. It's not a bad idea at all. But it's hard to make it pay off. TextMate has made a very solid attempt, but I'm suspicious of the long-term merits of the closed-source, one-platform model, and an editor has to be built to last. (I note that the new fashion seems to be for TextMate users to try emacs!) And who is going to pay you to write another open-source editor? It is not a small project.
- silentbicycle 18y ago"But it's hard to make it pay off." Absolutely. Emacs is already out. Similarly, while Elisp has its flaws (the lack of a good namespace system comes to mind), it's probably good enough. Efforts to rewrite Emacs in Common Lisp or Scheme seem to stall out, even (and the thought of porting all that legacy code is rather off-putting). I also think it's interesting how the author of the toplevel post has a textmate minor mode (http://ozmm.org/posts/textmate_minor_mode.html http://ozmm.org/posts/textmate_minor_mode.html) to add TextMate features to Emacs that I'm pretty sure it already has (e.g. go to symbol, find file within vc repo). I know I've re-implemented minor features of outline mode more than once.
- mechanical_fish 18y agoHm, on second thought, I will amend my previous skepticism slightly. I wonder whether some emacs minigames might be useful. It might be that the best way to learn about, say, the rectangle commands is to play a little rectangle minigame. What I envision is not a single gigantic emacs game in which you start at level 1 ("a four year old") and proceed to level 793 ("Yegge"), but a directory full of games that you can choose to play in any order, depending on your interests. Clearly the next step is for someone to produce an emacs mode for writing wizard-ish tutorials about other emacs modes. ;)
- silentbicycle 18y agoMore task-specific tutorial games? ("You are in a maze of twisty little passages, all alike...") A "how to use the help" game/tutorial/screencast would probably be the most useful, overall.
- khafra 18y agoThat's actually what I was expecting the first time I hit C-h t: Not just a verbal description of each feature, but a demonstration of it, perhaps in a sandboxed environment where only the features described so far were enabled, along with some command to exit or reset everything. I still haven't learned emacs, so I'd find that valuable.
- silentbicycle 18y agoMe too, until I saw the "Copyright (c) 1985" at the start.
- d0mine 18y agoYou could start with http://video.google.com/videosearch?q=emacs http://video.google.com/videosearch?q=emacs
- almost 18y agoThat's a brilliant idea! Anyone fancy actually doing this? I find I usually need to use a new feature a few times before it sinks in, this can be hard when it's not something I need very often. A game like thingy where I could try out the feature a few times (maybe completing a timed task or something) would maybe help that a lot, and could be fun too (for the weird definition of fun that applies to people who like learning new Emacs commands)! I'd probably be up for participating in a project to create a set of these games, anyone else? I'll check back on replies to this comment after Christmas, then maybe put up a project page.