pjmlp
4 days 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"
abecedarius
3 days ago
An OS is a virtual machine meant to be shared among programs. Sure the central examples expose most of an ISA that they run on themselves, but there are also examples like Inferno, Taos, AS/400.
charcircuit
4 days 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.
pjmlp
4 days ago
"An operating system is a collection of things that don't fit into a language. There shouldn't be one"
-- Dan Ingalls
mananaysiempre
4 days 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.
pjmlp
4 days ago
That is mostly a non issue on microservices and serverless runtimes running on top of type 1 hypervisors, and bare metal embedded deployments.
tvink
3 days ago
I'm unsure why you point this out. It's also a non issue if you're trying to drive a unicycle. Isn't it more interesting to talk about the cases where it applies? Or do you reckon all programs should be microservices?
charcircuit
4 days 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.
wtetzner
4 days 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.
I disagree though. While there are benefits to that approach, I feel like language innovation would be stifled to a certain degree.
convolvatron
3 days ago
that seems backwards to me. one of the primary constraints in language development is the OS api. programs that don't interact with the world are increasingly less interesting, and you really have to work hard and be clever to change the file and its semantics, the socket, or the thread. these things have sharp edges and tend to be leaky.
wtetzner
3 days ago
> that seems backwards to me
I'm not sure I completely understand which part you find backwards. Do you mean merging language runtimes and the OS is a bad idea, or that you think merging them would lead to more innovation?
I can see an argument for both (in terms of innovation), but being able to run only one language environment on a computer at a given time would make it much harder and heavy weight to use new languages. Or at the very least, new language runtimes.
convolvatron
2 days ago
I certainly see that the OS interface is limit to language innovation in that it assumes a lot the things I mentioned, and these tend to get shoehorned in and turn into a series layer violations to poke through all the needed flags and controls.
we definitely gain a lot of acceleration from having a common substrate, but it acts a constraint.
virtual machines are really a good out, whether that's a hardware isolation layer, or just a software abstraction. I think the view that the hypervisors present (simple virtio style devices) are maybe a better canonical OS interface than the sprawling syscall+library model.
but sure, unless I wanted to develop a language and runtime that _really_ looked different, I would try to paper over posix to the degree possible.
raverbashing
4 days ago
> Edit: Looking up the quote it seems to just be the person being pedantic in how they define operating systems.
What a surprise
Pragmatism beats idealism in the real world
bcjdjsndon
4 days ago
In the Linux world, isn't the c compiler necessary for Linux to function?
TylerE
4 days ago
To build? Sure.
To run? Absolutely not.