Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Reading guides like these makes me think about how I sound like when I implore novices to try out the command-line.

Why should I?

I'll peg myself as a half-competent developer, the kind who codes everyday and can lose a weekend to a spontaneous side project. I am completely in agreeance that tool mastery is vital for enjoying and being productive in programming, I just have no concept, not from this guide, and not from many others, why Emacs is better for me than Sublime Text, nevermind why I should consider taking a year (an eternity in technological time) to master it.

And I realize that's a question that requires an unfair amount of trivial knowledge (e.g. the way I work and design)...but that's kind of the core concept for me...I feel pretty productive in ST3, I can sense the shortcuts and power tools I haven't taken the time to master and where they would help me, and for the most part, I design my projects in a way that fit the ST3 navigational flow...which I imagine is a side-effect of ST3's overall excellent design. In general, though, the bottleneck for me in programming isn't the typing of code or navigating through files, it's the sitting and thinking...rarely do I ever feel that ST's navigational functions cause me to lose context or concentration.

So all things considered, what value does Emacs bring me? Is it better in general programming situations? Or for ones in which a highly customized environment is needed? In that case, then fashion the argument properly...I would never argue that Ruby is the best language for all purposes, but I could certainly argue that it's a great contender for specific domains, and as a "glue" code.

Maybe the OP lists some compelling use cases further down in this document, but I pretty much stopped reading at this line, which gives me low confidence that me and the OP share the same worldview of how things work:

> No job ad will list Emacs as a required skill. That’s actually a good thing. It ensures that only honest technical guys exist in Emacs community.



> nevermind why I should consider taking a year (an eternity in technological time) to master it.

I don't want to proselytise, but maybe that hints at one of the core appeals of emacs. A year is nothing in terms of the span of time emacs has been around, and so time invested in making emacs your editor is effort that won't be discarded in the next technological cycle.

The other aspect is what I mean by "making emacs your editor"; emacs has had a lasting appeal because it is so general, and so malleable. Emacs becomes a construction material for your personal editor, and everyone who uses it seriously ends up with something idiosyncratic and ad hoc, in the best senses of those words.


Visual Studio, or Eclipse have been around for a fair while as well now. Its not like they will disappear with the next text cycle. And you can get productive with them in far less than a year.


Every five years or so I decide to give whatever editors/IDEs are in vogue a decent shot, to make sure I'm not missing out on anything (better still is to work along side of someone who is really productive in a radically different environment, like acme). Usually I come away from it with a few tweaks to my emacs configuration, but I have yet to be compelled away from emacs.

For example, I gave Visual Studio another shot recently (VS2013); and I mean, I read books on using it productively, I read the various tip blogs, advice for customization online, et cetera; I used it extensively. Unfortunately, I just don't see what people see in it. From my point of view, it's still slow, cumbersome, expensive (for any version with features that are actually useful), much less featureful than (customized) emacs, and doesn't run on most of the platforms I use to develop software. In theory, I could dedicate a few years writing extensions for one of these IDEs to duplicate all the emacs modes I use, but I'd probably never be able to fix, for example, buffer switching, or all the places where the mouse is the preferred form of interaction, or where modal dialogs steal focus (let alone all the dialogs that inexplicably aren't resizable). Meanwhile, the nice features like Intellisense and so on are the kind of customizations I've had in emacs for most of my prefered languages for years anyway.


I think you can also be quite productive in Emacs in a much shorter time.

The difference is: the flexibility of IDEs stops after a while, and then there's nothing new to learn to become more efficient. With Emacs, you can keep on learning and optimizing your work environment.

Disclaimer: I work with Eclipse almost exclusively these days, also because for Java it's so much better, IMHO.


Emacs still runs on more platforms than VS and Eclipse, using fewer system resources, and is applicable to a larger diversity of programming / work tasks. There are not so many tools that are both that ubiquitous and long-lived.


As with all things, if you don't like it, that's okay. If you're productive in ST3, great!

For me, it was the realization that emacs can be configured to do anything you want. If you don't like how it works (and you probably won't), you can change it. Do you wish that Alt-<left arrow> would delete all of the whitespace in front of your cursor and translate the rest of the line to piglatin? You can to that. Do you want to send a copy of your file to an ftp site in addition to your local disk when you hit 'save'? And also push to github? Go for it. I guess you could say that you get out of it what you put into it. I sometimes find the auto-complete in emacs a bit lacking and I'll try another editor/IDE, but once I find something I don't like and I can't change it, I'll go back.

That being said, I think you're probably right that it is better in general and other tools can be better in specific situations.


So what you posted here...this is what I want to see in the OP's otherwise well-intentioned guide. I can say "yes" to a lot of those things, and "maybe" to the others...Don't get me wrong, I love learning new things, especially languages...but in this case, we're talking about a tool that is critical for me to learning other things...when writing an evangelism guide, the saying, "show don't tell", is even more urgent.

That said, I'm going to hold off of emacs at the moment. My goal has still been to learn vim :)


I think the learning curve of Emacs is much easier than vim. You still have a GUI that exposes most of the important functions, and can learn the key bindings as you go. You can start using Emacs for basic editing without actually knowing how to "use" it.


I remember back before I knew how to use vim (I was an Emacs guy then) it was a nightmare when I would forget to set my EDITOR variable and get dropped into vi to write commit messages; I couldn't edit my way out of a paper bag and could never remember how to exit without saving, though after a while ':q!' became the only vim command I knew.


Like gvim or macvim.


Also, and this is weird, you can get vi bindings in emacs through editing modes like viper-mode or evil. So if you want, in emacs you can have both.

In contrast, you will never see emacs inside of vim.


Hah! The way vim extensions are going you'll have emacs-in-vim soon enough. Not that I think it's a good idea, mind you. People spend too much time in vim as-is. (it's fine for emacs; that one's essentially a desktop environment)


I was half expecting you to realize that you answered your own question before you asked it (why do you implore novices to try out the command-line?). But what the hey, I'll throw out some links that go better into why Emacs is still a very viable contender for your editor of choice.

Steve Yegge wrote a classic programming read "Tour De Babel"[1], which has a bit on Emacs under the Lisp section. He also wrote "Effective Emacs"[2], which just the intro tries to explain why you should use Emacs. Lastly, there's Vivek Halder's "Levels of Emacs Proficiency"[3] which will either amuse/awe you or scare you.

[1] - https://sites.google.com/site/steveyegge2/tour-de-babel

[2] - https://sites.google.com/site/steveyegge2/effective-emacs

[3] - http://blog.vivekhaldar.com/post/3996068979/the-levels-of-em...


> So all things considered, what value does Emacs bring me?

The value in emacs is all the language specific modes and utilities that will allow you to turn emacs into a customizable IDE where you can run your builds, tests and debuggers from inside the editor.

There are "proper" IDEs out there but all of them are more or less language specific. Emacs is a general purpose text editor and can be used with any language, and customized to the tools and conventions around that language.

I use so many tools and languages that having a single language IDE (or many of them) is not an option. And I don't want to go back to running a simple text editor and running my builds on the command line separately.

I've been a Vim user for quite a long time but I'm slowly making the transition to emacs and evil-mode (I recently started doing some symbolic math Scheme code in emacs). Vim is a great editor but tool integration is the weak spot. Especially debuggers don't really play nice with Vim.


> why Emacs is better for me than Sublime Text

Do you use a text editor only for programming? Or do you use your text editor to edit all kinds of text, including emails, letters, notes, to-do lists, etc.? I do the latter, and the last time I evaluated text editors, Emacs was the best choice for editing all the text that I work with daily.

For example, the last time I evaluated Sublime Text, it didn't have package nearly as powerful as Org mode for Emacs. Org mode is the best note-taking tool I've ever used.

In addition to note-taking, another example is email. format=flowed is one of my requirements, and when I search the web for "Sublime Text" "format=flowed", I get fewer than 744 results, and none of the top results are relevant. When I search the web for Emacs "format=flowed", I get 135,000 results, which includes many relevant results.


By not learning Emacs, you're missing out on the joys of RSI.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: