5 ms·
Articles about why anything you can do in a "simpler" text editor can and should be done in emacs strongly resemble articles about why anything you can do in a
by raganwald 15y ago
Articles about why anything you can do in a "simpler" text editor can and should be done in emacs strongly resemble articles about why anything you can do in a less powerful programming language can and should be done in Lisp.
I don't think it's a coïncidence.
- ajross 15y agoI think that's a little unfair. Programming languages are tools for your head: you're always thinking when using them. That means that the impedance mismatch of "switching" between languages is fairly low, and scales with the problem. So pick the tool for the job, and don't sweat the simple stuff. Editors are tools for your fingers. There are huge penalties to being good with an editor if you are forced to use a different one. I use emacs for writing things other than code (email, web forms like this very comment) not just because I think it's better than whatever built-in editor is provided for the task, but because it hurts so badly to use something other than emacs. The converse point is that there are huge benefits available if you give up all your existing editing tools and spend some time (and yeah, it can be months to years) getting really, really good at just one. Really, that one has to be emacs or vim, which are the only editors out there designed to scale to this level of specialization. It always makes me sad to watch other people work and see how much time they spend fighting with their editor, moving their hand around to the arrows or mouse or function keys, fighting with the presentation logic of their word processor to get the page break on the right spot on the screen, etc... It doesn't have to be that way.
- raganwald 15y agoWhat's unfair? That the arguments made by emacs users with respect to less powerful editors resemble the arguments made by Lisp users with respect to less powerful programming languages? I'm not taking a stand on the argument one way or the other, just pointing out how similar they sound. You said: "There are huge benefits available if you give up all your existing editing tools and spend some time (and yeah, it can be months to years) getting really, really good at just one. Really, that one has to be emacs or vim, which are the only editors out there designed to scale to this level of specialization." How does this differ from: "There are huge benefits available if you give up all your existing languages and spend some time (and yeah, it can be months to years) getting really, really good at just one. Really, that one has to be Lisp, which is the only language out there designed to scale to this level of specialization." Whether you agree or disagree with the sentiments, haven't you heard people expressing those sentiments in much the same terms?
- ajross 15y agoI'm not taking a stand on the argument one way or the other, just pointing out how similar they sound. Uh, no. You're making an editorial point that they both seem equally silly, you just aren't saying that. If your only purpose to posting was a bland linguistic analogy with no bearing on the subject being discussed, then I withdraw my argument on the grounds that your post is unimaginably boring. :) But to respond: the sentences differ in that one statement is truer than the other. "Hugs are good." and "Suffering is good." use the same language too, but you wouldn't use that as part of a sideways argument that huggers are insane, would you?
- raganwald 15y agoMy words meant exactly what they said, no more and no less. I know this because (a) I wrote them, and (b) I happen to like Lisp, Emacs, and the people I know who use them. I'm pretty sure I am not in the habit of describing their arguments as "silly." At the risk of appealing to authority, I do not consider this essay silly: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html What I was doing is making a commentary about the similarity between cultures, or perhaps mindsets, or perhaps people. Now, if you want to believe that when I say X, that I really mean Y, and when I assert "No, I really meant X," that I am lying and I meant Y but have some sort of duplicitous reason for telling you that I meant X, that is your right. But I'm going to have to let you go your way on this issue, and I will go mine.
- neutronicus 15y agoFor what it's worth, I read derision in your original post as well.
- raganwald 15y agoSometimes, a really simple statement is a Tabula Rasa. We read into it what we believe, or what we think others might believe. Nothing exceptionally wrong with that, and so we ask the author: "Did you mean such-and-such?" If they didn't, they clarify their intent and we move along. I have spent more time thinking about the nature of programming languages than editors, so I will perhaps ruin a perfectly good neutral statement by talking about my own beliefs. I think there is such a thing as a power continuum in languages. I have no idea whether Haskell is more powerful than Clojure, but I am comfortable describing Java as far down the continuum from Scheme. I also think there is such a thing as design in programming languages, and I think it has value. So while Python may be less powerful than some other languages in an absolute sense, I understand why many people choose it. It is well-designed in exactly the same way that the original iPod (No Wireless. Less Space Than A Nomad. Lame.) was well-designed. And by well-designed, I don't mean "Has all the features, " I mean, "Has a carefully selected set of features that complement each other." Given my beliefs, I understand people who prefer to work with more powerful languages and why they might argue that you never need to step down the power continuum. Makes sense. I also understand people who argue a certain tool that is less powerful in an absolute sense but has a design that suits them in some fundamental way. I even understand people who argue that certain languages are more powerful and well-designed, like Haskell. I honestly don't have a strong feeling that either person is wrong, and I'm fairly comfortable saying that we haven't done enough research to settle the matter empirically. So no, I am certainly not ridiculing Lisp users who claim that there is no need to step down the power continuum. They may be right, and we don't have enough solid evidence to disprove their claims, just what amounts to folklore about readability and design patterns and significant whitespace and monkey-patching. Likewise, I cannot really argue with an emacs evangelist. Who can say that such an argument is anything except Blub? I value certain well-designed text editors--I have been enjoying Byword lately--but can I prove that I'm more efficient with Byword than I would be if I spent two weeks or a month or a few years becoming an emacs guru? So anyways, no I was not being derisive, but I don't fault anybody for wondering if I had something on my mind considering that I tried very hard to say nothing about whether Emacs is or isn't superior to Byword, or whether Ruby is or isn't an acceptable Lisp.
- tedunangst 15y agoI'm not sure if you're making a general point, but I don't think it's universally true. Anything you can do on a netbook can be done faster and more accurately on a supercomputer. Working backwards from why we don't all use supercomputers, we can probably figure out why not everyone uses lisp and emacs.
- deleted 15y ago[deleted]
- BrandonM 15y ago> Anything you can do on a netbook can be done faster and more accurately on a supercomputer. What about: - developing software while on a flight? - recording field data for an experiment? - using hibernate or sleep to save power? - connecting to a projector for a presentation? - ... The point is that it's important to use the right tool for the job, and that for many tasks a netbook is vastly preferable to a supercomputer. "Working backwards from" use the right tool for the job seems more instructive than your implication (whatever it was).
- akkartik 15y agoThe title raised my hackles as well, but it turned out to be a fun, un-dogmatic read with nothing to do with the editor wars. Upvoted. Or perhaps it was just that he didn't bash my favorite editor :)
- raganwald 15y agoI though the article was fun and informative, but I'll stop short of saying that a post wherein the author questions why people pay for editors that do less than emacs has "nothing to do with the editor wars." I agree that it has nothing to do with the One-True-Editor war between emacs and vim users :-)
- swannodette 15y agoSimple text editor = simple + powerful Emacs = complex + powerful Lisp = simple + powerful Blub = complex + powerful Given this your association doesn't make much sense. I think most people prefer simple + powerful. And this isn't black and white - Blub can often be simpler for X simple task. However the real yard stick is whether as your problem domain gets more complex does Blub suddenly lose its veneer of simplicity? I always bring up Alan Kay in these kind of threads but his observations are always so damn salient - agglutinative PLs (features) vs style PLs (simple principles).
- Goladus 15y agoMost of my emacs customizations are pretty simple. M-x [ and M-x ] start and end macros. f5 runs a macro instead of C-M-x e. f6 copies the entire current line. f7 is line-goto. f9 is replace-string, f10 is replace-regexp. M-x g is whole-buffer-copy. I have a bunch of functions that insert standard shebangs and other script boilerplate, which are easily mapped to function keys if I need them. I've got some other more complex customizations that I don't use very often, for example a set of functions that let me cycle through various background/text color schemes. For awhile I had that mapped to f8. I've also effectively used hotkeys that generate documentation/comment templates. But those tend to come and go, and when I'm not using them they don't interfere at all. Beyond a few fundamental things, emacs is only as complex as it needs to be. Yes, it's a fairly large base install compared to vi, or a simple text editor, but so far it's never been big enough to get in my way.
- yarian 15y agoI will argue that simple text editor does not usually equal simple + powerful. Most "simple" text editors (think Notepad) are just plain simple. Emacs seems quite simple to me, actually. Intimidating at first, sure. Complex to master, but simple to use. Then again, there's an obvious difference between something that is difficult to learn and something that is difficult to use. In fact most tools require training at first to use them, and Emacs is not any different.
- lurker19 15y agoWell, emacs is the most popular Lisp implementation and area of application.
- raganwald 15y agoI was thinking along these lines. Although, the thing that occurred to me is that Lisp is sometimes called a programmable programming language. And emacs is the canonical programmable text editor. It had occurred to me that it was not a coincidence that someone who had embraced a fully programmable tool (language or editor) would feel this way about it. I thought the article was interesting in that the author was pointing out that emacs' programmability could be used to emulate design features like a distraction-free environment and not just "power" features.