In Emacs, Everything Looks Like a Service
72 points by kickingvegas 5 hours ago | 30 comments

kleiba2 21 minutes ago
I've been an Emacs user for over 25 years. But last year I switched employers and they won't let me use it even for tasks where it would absolutely shine. Their argument is that all team members should use the same tools, and I guess that is a valid point.

Unfortunately, I failed to convince my employer to make everybody else switch to Emacs.

So, now I'm using lots of one-purpose tools, one for each separate task, a good deal less efficiently than I could use Emacs, and I'm still learning all the new UIs and keyboard mappings.

reply
jerf 16 minutes ago
... how would they tell?
reply
pjmlp 3 hours ago
> A common refrain is that Emacs is an operating system (OS). This isn’t true, but what invites comparison to an OS is its ability to orchestrate applications and utilities above the OS kernel level.

Only because Lisp Machines, or variations thereof didn't took off in the mainstream.

"Symbolics Lisp Machine demo"

https://www.youtube.com/watch?v=o4-YnLpLgtk

"Emacs and Lisp"

https://funcall.blogspot.com/2025/04/emacs-and-lisp.html

While Emacs was forked by Lucid as XEmacs to make one of the very first ideas of LSP, nowadays most features have been integrated back into Emacs

https://dreamsongs.com/Cadillac.html

"Lucid Energize Demo"

https://www.youtube.com/watch?v=pQQTScuApWk

reply
charcircuit 2 hours ago
Even if LISP machines took off, an editor running on them still would not be an OS. Such claims come from people who don't understand what a platform is and who can conflate any platform with an operating system. You also see these people calling web browsers operating systems. By this flawed definition you could even call things like Roblox an operating system.
reply
pjmlp 2 hours ago
"An operating system is a collection of things that don't fit into a language. There shouldn't be one"

-- Dan Ingalls

reply
mananaysiempre 12 minutes ago
As long as you don’t care about interlanguage interop, sure. The opposite point of view, that every language tries to become an operating system (and consequently to prevent other languages from coexisting), is also possible, and I’m somewhat more sympathetic to that one.
reply
bcjdjsndon 2 hours ago
In the Linux world, isn't the c compiler necessary for Linux to function?
reply
TylerE 2 hours ago
To build? Sure.

To run? Absolutely not.

reply
charcircuit 2 hours ago
Developers love building on platforms. Saying there shouldn't be platforms defies reality.

Edit: Looking up the quote it seems to just be the person being pedantic in how they define operating systems.

reply
wtetzner 46 seconds ago
Given his work on Smalltalk, I suspect he means that he prefers the line between language runtime and operating system to be erased, and they be the same thing.
reply
deng 30 minutes ago
This just proves that you can cram pretty much anything into the client/server dichotomy if you just define "client", "server" and "request" broad enough. Similarly, I remember how desperately people tried to argue that Emacs follows the "Unix philosophy" as long as your LISP functions are doing just one thing, and do them well. I don't know what you would gain from these things. Emacs follows the idea of LISP machines, I think that much anybody can agree on. From there, Emacs can be or do pretty much whatever you want. It's excellent in communicating with CLI tools - you can call that client/server if you want, but I wouldn't know what you'd gain from that definition. The reality is that Emacs has gone through a lot of fads and hypes over its decades of existence, and each time, it has taken something along the way. Heck, there's a whole semantic parsing engine buried within (CEDET), which nowadays is pretty much unused, because then LSPs came along, and now we have agents (which Emacs btw is a pretty decent frontend for).
reply
kandros 3 hours ago
One of the pivotal moments in my career has been when I used Emacs just enough to truly understand what "Emacs is an operating system" means, not just as a joke but as something I could believe in
reply
bcjdjsndon 2 hours ago
But you already had an operating system and you could already code... Did Emacs really give YOU any capability you didn't have before? Don't forget this is a text editor, not an IDE or some general purpose automation harness

You could add lisp to mspaint and mspaint suddenly becomes awesome somehow? I don't follow the logic

reply
shakow 10 minutes ago
> Don't forget this is a text editor, not [a] general purpose automation harness

This arguable. I personally use emacs for text editing for sure, but not only: it also does emails (notmuch), git (magit), team & project management (org), mastodon, fleet management (nix + colmena + custom elisp functions), and, more importantly, all these “applications” can mutually share data.

So can you use emacs as a text editor only? Sure. Can you leverage its intrinsic abilities to reach what might be called an automation harness? Yes as well.

reply
ryukafalz 36 minutes ago
It certainly did for me, because it let me trivially write code that integrates deeply into the rest of the system.

A simple example: I wrote a function that let me highlight an X.509 cert in a YAML document, regardless of indentation, and pass it to 'openssl x509' to show me what it is. This has saved me lots of time over the years not having to copy/paste, fiddle with whitespace, etc. But it's only valuable because the functionality is now right at my fingertips in the environment I'm already in!

reply
rausr 56 minutes ago
> Don't forget this is a text editor, not an IDE or some general purpose automation harness

It's more correctly a Lisp execution environment with a text editor added as a bonus ;)

reply
noufalibrahim 39 minutes ago
A lisp interpreter with text editing primitives.
reply
lelanthran 21 minutes ago
> Did Emacs really give YOU any capability you didn't have before?

`M-x docter` is something I never had before.

reply
skydhash 34 minutes ago
The Emacs API is kinda huge, with things like very raw network API, a very good approximation of fork/exec process management, buffers as the base communication mechanism with a lot of capabilities, various utility function with regards to interfacing with the user (windows, frame, faces, keyboard events), then the hooks and advice subsystem.

With Unix, most programs are binary and while the shell is a good glue language, you can’t alter a program and the OS that much. With Emacs, only the core coded in C is sacred, anything else can be modified to fit your workflow. And there’s a lot of packages out there to provide you with raw materials.

reply
mimo84 3 hours ago
I have been using emacs for the past couple of years. Started because I wanted to try out org mode and stayed for the extreme flexibility it offers.
reply
smitty1e 3 hours ago
I've been on spacemacs.org for a while, but since I've got a Keychron G6 Pro where I can reprogram the caps lock, I'm going to try out some hard-core init.el stylings.

Suggestions welcome.

reply
mimo84 2 hours ago
I also started on spacemacs but then I wanted to learn the basics of it and switched to writing my own configuration from scratch. What helped me the most is reading though the Mastering Emacs book by Mickey Petersen which is an amazing resource to learn the basics and beyond. Right now I'm in the process of reducing the number of external packages I use and I'm trying to use more of the built in functionality that is available "out of the box".
reply
smitty1e 2 hours ago
reply
driva 2 hours ago
It's a shell not an operating system but the concept of a shell isn't commonly understood.
reply
archargelod 42 minutes ago
I see shell as an instrument through which you use other tools. In that sense, vi feels much more like a shell, because you have to use other standard unix programs with `:.!` for much functionality.

Where Emacs comes with all bells and whistles included in one big distribution, much like an operating system.

reply
cturner 4 minutes ago
Something that undermines the operating system angle is that emacs does not implement hardware drivers. All interaction with the systems goes via system calls.

Norton Commander contains a text editor. Emacs operates at that level, whilst being reprogrammable.

reply
floathub 38 minutes ago
Came across this recently, which I find is a good and short intro to Emacs for people who don't use it:

https://www.youtube.com/watch?v=mJZDmO5yOxE

reply
pedro_caetano 33 minutes ago
Now I am really curious to see Anon Emoose's init.el
reply
girvel 59 minutes ago
I did not get this argument. Diagrams are nice, and I probably missed something in lisp code (not used to lisp syntax), but I see no argument that Emacs has more service-like interaction with other apps or its plugins than say vim or vscode. I agree that emacs is the most OS-like, but I would love if someone explained what exactly is the point in the article
reply
bitwize 22 minutes ago
In Emacs, everything looks like a part of the core system. The whole thing is just one unvariegated blob of Lisp, which could be a strength or a weakness depending on your perspective. Me, I happen to like that sort of thing.
reply
fgeytk2 3 hours ago
[dead]
reply