Hacker News new | ask | show | jobs
by smellf 3020 days ago
So I've never really used emacs... but I'm not really sure I understand why a text editor would need all these things? Like, why do you want an HTTP client in your text editor when you already have wget, curl, nc, etc available in your shell? It kind of sounds like emacs was incorporating anything remotely related to it before systemd came along and made it cool.
2 comments

That's why the joke "Emacs is a great OS, if only it had a good text editor," lives on and has a kernel of truth. It's really not a text editor, it's a LISP VM. It also does actually have a pretty good text editor out-of-the-box.

It's why the vim vs. Emacs "war" isn't really a fight over text editing, but an ideological battle of "one tool that does one thing well" vs. "one tool that has everything I ever need."

Personally, I find integration a huge selling point, and the Unix pipe interface leaves a lot to be desired. Writing some elisp code, or (preferably) installing a well-documented layer/package, is preferable to me. The specific tools I need also happen to be well supported in the Emacs ecosystem.

>but I'm not really sure I understand why a text editor would need all these things?

It doesn't. But thinking of Emacs as a text editor is like thinking of Firefox as a document displayer.

>Like, why do you want an HTTP client in your text editor when you already have wget, curl, nc, etc available in your shell?

There's a reason to prefer using these in Emacs over the shell. It is because Emacs is a better embodiment of the UNIX philosophy than the UNIX shell itself is:

>Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".

A lot of standard UNIX tools are laden with features. But well, that could be said of Emacs as well.

>Expect the output of every program to become the input to another, as yet unknown, program.

Emacs does this much better than the UNIX shell, in my experience. The level of consistency you see in the Emacs ecosystem just doesn't exist in UNIX. With UNIX, you really are feeling like you are gluing stuff together. With Emacs, it feels much more natural.