someone wrote: "Emacs is a refugee from the long dead culture of LispMachine
It's an asylum seeker in the UnixCulture
(To decide the worth of a culture, examine its treatment of asylum seekers.)
- To decide the worth of an asylum seeker, examine their attitude towards the host that took them in.
I posit that many people use EmacsAsOperatingSystem
. What's more, it's
about the most portable
operating system ever. This would explain
the fanaticism required to build mailers, newsreaders, web browsers,
directory editors, CVS interfaces, etc etc etc into this one tool, so
its proponents never
have to leave the safety of their house.
s/safety/power, flexibility, and all-around good design/, and I'll agree :)
- But all that building happened well before Emacs became portable. That all happened while Emacs was still confined to DEC 10s. (Although obviously it was later redone in elisp.)
- There are other portable operating systems. One word: Smalltalk.
... and Emacs' buffers are a remarkably simple unified interface to everything on the earth, comparable to CommandLineInterface
In my interminable and to date unproductive experiments with OperatingSystemsImplementation
, one project which I had planned, but have never actively pursued, was ENOS - Emacs Native Operating System - which would have been a literal example of EmacsAsOperatingSystem
. The plan was to write a small kernel of CeeLanguage
code, that would be used to support a port of GNU Emacs; except for that minimum C support for memory management and task management, the whole system would be written in Elisp. It was intended as a proof-of-concept for some more elaborate ideas I had concerning UserInterfaceDesign
. I have since decided that the work of porting Emacs would probably be greater than that of writing a system that meant to succeed it. - JayOsako
I've heard a lot of people think seriously about doing that, but never heard of anyone actually getting going on such a project.
Wouldn't it be a re-implementation of Genera, the SymbolicsLispMachine OS? Granted, you'd need to add a GUI to make it complete, but the spirit would be similar. It would be interesting to see how well Genera can take advantage of a MultiCoreCpu?.
That reminds me of a moderately common issue: What about running curses-based programs under emacs? It doesn't seem to work right.
Do M-x ansi-term instead of M-x shell. Or so I'm told. Nethack major mode?
Nethack.el exists. http://www.nongnu.org/nethack-el/
Also, ANSI-term is fine. I use it for everything. Including my Python REPL.
Personally, I like having everything immediately available from the same interface. It probably doesn't fit the *nix philosophy, but why conform anyway? ;) Besides, Lisp is way too much fun to play around with.
I have often wondered why emacs fans have not tried to replace /sbin/init with emacs in Linux and distribute it as some form of emacs OS, you get all the driver support out of the box and merely have to write some elisp to manage startup etc.
Well, there you go, you see... it just needs you to do it, so do it, eh?
Pascal J. Bourguignon actually did
use emacs for his /sbin/init, as described in this December 2012 article:
As much as I love Emacs, in my opinion it isn't the right tool for an operating system because it isn't mainstream. Its editor is based on unusual keystrokes with help that has uncommon terminology. It doesn't support GUI development. It doesn't seamlessly integrate lisp and editing keystrokes to limit the total number of keystrokes necessary to memorize. And, of course, Lisp syntax is not infix.
Nonetheless, I believe this overall approach is one hope we have to build a tool significantly more powerful and an IDE - I like to call it a Totally Integrated Environment. Unfortunately, computing technology has become so diverse that a simple tool cannot satisfy everyone, and an effective extensible computing environment is elusive, at best.
An old favorite joke: "The Emacs operating system needs a better editor."
Viper-mode is the "better editor"