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

Typical reaction from someone who has no clue. Emacs isn’t a “hammer”; it's more like “glue” - you don't have to do everything _with_ Emacs, but it can definitely mediate and delegate specific tasks to more specialized tools - it can give you the sense of doing everything _through_ Emacs.

Why would anyone do that? Because plain text rocks.

> There is no equivalent in any other communication technology for the social, communicative, cognitive and reflective complexity ¹

And there's simply nothing better today than Emacs for dealing with the plain text. Neovim comes close, but still can't match it.

__

¹ Graydon Hoare: Always bet on text https://graydon2.dreamwidth.org/193447.html



You don’t have to tell me what Emacs is capable of. Been using it for all my computational use-cases for years. But migrated away from it because it is obvious that each use case has better solutions outside Emacs. I am convinced the Unix way (do one thing and do it well, connect them via pipes and text) is the way to go.


> I am convinced the Unix way (do one thing and do it well, connect them via pipes and text) is the way to go.

I was convinced too, but after the amount of work required to convince terminal, tmux and neovim to be friends I thought “It would be nice if all of it would be in one sane configuration language and actually debuggable!”

These days, if I need unix tools (use rg a lot) I plug them into emacs.


Yup, exactly this.

The Unix philosophy has limits - text pipes work great for linear data processing, but often break down for interactive stateful workflows. Many modern tasks require rich data structures, not just text streams. Also, context switching between tools loses state and mental flow.

Advocates of "Unix philosophy" often lay it out as if it's the exact opposite of the "Emacs way", which is pretty inaccurate - Emacs can actually be viewed as "Unix philosophy+" - it does do one thing well: text manipulation+extensibility.

You can still use Unix tools from within Emacs - shell commands, compilation, etc. Moreover - you can pipe the result of a command into an Emacs buffer and the content of that buffer into another command, etc. And unlike pure terminal workflows, you gain persistent state, shared buffers and unified keybindings across all operations.

Unix philosophy is brilliant for system administration and data processing, I would never try to convince anyone not to use, e.g. Neovim, I myself reach for it when I see the need. Emacs philosophy is brilliant, for example, for knowledge work and creative tasks, like the example in the OP's blogpost.

These tools - Emacs, Neovim, and Unix - embody some of the greatest ideas in computer science throughout its relatively short history. One would have to be extremely short-sighted not to recognize the immense value in any of them. Frankly, mastering all three of them may make you feel like the Chuck Norris of computing.


I know that you are a stalwart Emacs supporter — I've seen your posts before, and still remember your airplane awakening — but don't you think that more carrot than stick would be more effective at convincing people to use Emacs?


I may not sound nice at times, but I strive to be kind. Kindness implies honesty. Why is it easier to learn a foreign language around kids? Because kids (with no malice in their hearts) would tell you the truth - when you mispronounce things, they'd laugh at your mistakes. When it comes to spreading truth about Emacs, I'd rather be like a kid.

I don't think the comment above justified characterizing it as a "stick", but I suppose that is something you wanted to say to me long ago, and I appreciate your veracity. If you give me more constructive suggestions for changing my rhetoric, I may even promise to consider changing my narrative, but at this point, I don't even see what's wrong with it, really.




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

Search: