Tech Support > Operating Systems > Linux / Variants > why some people call emacs operating system?
why some people call emacs operating system?
Posted by Xiaoshen Li on January 21st, 2004


Hi,

I have read several postings. Some people say that Emacs is a great
operating system. I don't understand it. I thought Emacs is a text
editor, like vi, and operating systems are W2K, WXP, Linux, Mac etc.

Thank you for your help.

Best Regards,

Xiaoshen

Posted by Joe Beanfish on January 21st, 2004


On Wed, 21 Jan 2004 14:39:52 +0000, Xiaoshen Li <xli6@gmu.edu> wrote:

That's said tongue in cheek because emacs has so much stuff
thrown into it.

Posted by Alan Connor on January 21st, 2004


On Wed, 21 Jan 2004 14:39:52 +0000, Xiaoshen Li <xli6@gmu.edu> wrote:
Emacs is an "integrated desktop environment".

You are quite correct. It isn't an "operating system".

And it ceased to be a mere editor long ago.

It's what happens when a lot of out-of-work programmers smoke
too much pot...

:-)

AC


Posted by Ian Gil on January 21st, 2004


That's the problem with emacs, as great a program as it is, it's not in
line with the unix philosophy of doing one task and doing it well. There
are features/programs in emacs I like but I've not embraced it because
of this. You can eat, drink, and take a shower in emacs, and hardly
know anything about the underlying operating system, but no, it's not an
operating system.

Ian

Posted by notbob on January 21st, 2004


On 2004-01-21, Xiaoshen Li <xli6@gmu.edu> wrote:
They are making a joke. Since emacs can be used for so many other functions
beside text editor (email reader, newsreader, webbrowser, etc), some people
joke that if it had a kernel, it would be an operating system.

nb

Posted by Juha Siltala on January 21st, 2004


In article <slrnc0tpbf.jde.i@jal.net>, Ian Gil wrote:
Well, don't forget keep the tongue where it belongs.

Emacs is not a Unix program. It was written well before Richard Stallman,
its originator, got interested in Unix. In fact, he's not very interested
in Unix even today. He wanted a free system, and chose Unix as a model
for purely popular and practical reasons, not because he thought Unix was
special in any way.

Emacs certainly is not a text editor anymore. Some people do _everything_
inside emacs, and that's why they say, "emacs is my operating system;
Linux just provides the device drivers." Now, that doesn't even _touch_
the amount of little applications like "tetris" and "doctor" and
"calendar" and "gnus" that emacs has!

All this is a consequence of emacs's basic philosophy as a program that
can be used to program itself. LISP is (or at least used to be) the
language of choice for AI researchers because it was designed to be
self-contained. And that's precisely what emacs is. You can program emacs
during an emacs session, in real time, in LISP. Small wonder it's gotten
so huge. Emacs is by nature nothing but a LISP interpreter.

Now, Linus Torvalds started a little terminal emulator project on the i386
to keep in touch with the university's Unix boxen. He wanted to study the
i386 chip, so he wrote in assembly. However, he ended up adding some
features in C, and his terminal emulator got quite big and featureful, and
he decided it should evolve into an operating system. At that point, he
compared his terminal emulator to emacs, "the text editor from hell".

--
Juha Siltala
http://www.edu.helsinki.fi/activity/people/jsiltala/

Posted by Christopher Browne on January 21st, 2004


Martha Stewart called it a Good Thing when Xiaoshen Li <xli6@gmu.edu> wrote:
They joke about this in that they may run _everything_ that they do
from an Emacs session, thus making it not apparent what OS they might
be running.

After all, from Emacs you can:
- Browse the web (built-in web browser)
- Read news, mail
- Chat via IRC
- Manage files, somewhat "graphically" (via dired)
- Connect to databases (sql-whatever-dbms mode)
- Control development sessions (M-x compile)
- Run interactive sessions to all sorts of interpretive language
environments (Lisp, Prolog, ML, ...)

This thus makes Emacs a _more_ powerful "operating system shell" than
many vendors' entire OS environments.
--
select 'cbbrowne' || '@' || 'acm.org';
http://www3.sympatico.ca/cbbrowne/lisp.html
Would I be an optimist or a pessimist if I said my bladder was half
full?

Posted by Alan Connor on January 21st, 2004


On Wed, 21 Jan 2004 20:29:31 GMT, Ian Gil <i@NOSPAMALLOWED.com> wrote:
That's it.

I already have utilities/applications that will do everything that Emacs
does, and prefer to be able to upgrade, change, and alter them at will, and
to be able to know exactly what's screwing up if something does.

Simple shell scripts can be used to weave them together as needed....

Seperate but together....


AC


Posted by joe@invalid.address on January 21st, 2004


Ian Gil <i@NOSPAMALLOWED.com> writes:

Which shell do you use that would fit this definition? All the ones
I'm familiar with do command line interpretation, scripting, run other
programs, etc.

The unix philosophy is to provide a bunch of *utility* programs, each
of which does one thing very well, and being able to connect them
together from a shell. In this case, emacs winds up being a kind of
uber-shell. As I understand it, that's completely in line with unix
philosophy (although "world view" would probably be a better term to
use).

Joe

Posted by Floyd Davidson on January 21st, 2004


Alan Connor <zzzzzz@xxx.yyy> wrote:
This is a very *poorly* thought out comment.

Emacs is much like a shell, in that it provides an operating
environment. All of the above arguments would suggest that one
should not run a shell, which is an obvious bit of total
nonsense.

While clearly Emacs is *not* an "UNIX" thing, it is also not an
anti-UNIX thing either.

--
Floyd L. Davidson <http://web.newsguy.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska) floyd@barrow.com

Posted by Dan Espen on January 22nd, 2004


Alan Connor <zzzzzz@xxx.yyy> writes:

I think thats a little like saying the shell command line
does one thing.

Emacs is an editor afloat in a sea of lisp.
If you don't want to use the lisp that reads mail, directories,
news, web pages, does ftp, then don't.

I'm pretty sure no one person knows everything that emacs can do.

Uh, you have simple shell scripts that implement the game of Tetris?

Posted by Alan Connor on January 22nd, 2004


On Wed, 21 Jan 2004 22:38:07 -0500, Dan Espen <daneNO@SPAM.mk.telcordia.com> wrote:
No. Nor did I use the word "implement". Nor do I have any desire to
have the game of Tetris on my box.


Got better things to do with this incredible tool than play games, friend.


AC


Posted by Ed Murphy on January 22nd, 2004


On Thu, 22 Jan 2004 06:58:31 +0000, Alan Connor wrote:

Given your 'Perl is too heavyweight' [1] Luddite attitude, this is just
galling. Do you drive a Formula 1 race car at 14 mph?

[1] Okay, Perl may be too heavyweight in certain resource-critical
situations, plus it's not installed absolutely everywhere. But
AC's objections to it are, well, very much in line with the
larger body of his net.kookery


Posted by Alan Connor on January 22nd, 2004


On Thu, 22 Jan 2004 07:14:20 GMT, Ed Murphy <emurphy42@socal.rr.com> wrote:
Damn! I deleted the rest of this without seeing it.

Whatta shame.



AC

--
ed(1)
25K of troll-control
The perfect Usenet editor/pager

Posted by Pascal Bourguignon on January 22nd, 2004


notbob <notbob@nothome.com> writes:

Actually, you could do: chsh /bin/emacs
That is, have emacs be your shell.

You could even go one step further and do: cp /bin/emacs /bin/init ;
reboot, but they you'd have to add some elisp code to fork out service
processes (cusp for example to be able to print, nfsd to share files,
etc). A big win would be that all you unix scripts could become more
readable and maintainable lisp code rather that perl or sh gibberish.

Now, if you will, you could add scheme in kernel, to write your device
drivers in lisp too. I read that somebody was working on having a
common-lisp implementation run on the bare PC hardware (using the
BIOS). It would probably be easy enough to do the same to emacs,
after all, it runs on MS-DOS!


--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/

Posted by Ed Murphy on January 23rd, 2004


On Thu, 22 Jan 2004 10:58:32 +0000, Alan Connor wrote:

I thought you killfiled me forever! Can't you even do killfiles right?


Posted by Johan Lindquist on January 23rd, 2004


So anyway, it was like, 17:17 CET Jan 22 2004, you know? Oh, and, yeah,
Pascal Bourguignon was all like, "Dude,

*splorf*

And people say that emacs users have no humour?

--
Time flies like an arrow, fruit flies like a banana. Perth ---> *
12:36:41 up 14 days, 2:27, 6 users, load average: 2.14, 2.08, 2.04
$ cat /dev/bollocks Registered Linux user #261729
envisioneer proactive action-items

Posted by Alan Connor on January 23rd, 2004


On 22 Jan 2004 17:17:52 +0100, Pascal Bourguignon <spam@thalassa.informatimago.com> wrote:
The case against using Emacs grows in leaps and bounds.

Anyone running *nix that calls sh scripts "gibberish" is someone I wouldn't
let near my machine.

After all, it wouldn't even boot without them....


If you want to get over that lisp, see a therapist.


AC


Posted by Shmuel (Seymour J.) Metz on January 23rd, 2004



In <bumki7$o8k@portal.gmu.edu>, on 01/21/2004
at 02:39 PM, Xiaoshen Li <xli6@gmu.edu> said:

They're wrong, and probably joking. They're confusing, probably
deliberately, an operating system with an application framework.

Correct, but it is an editor with a scripting facility. Once you can
write editor macros in a programming language, you can exploit
features of the editor to build other applications. You see that all
of the time in the mainframe world. Since emacs lets you write editor
macros in LISP, it would be surprising if it didn't have applications
built on top of it.

--
Shmuel (Seymour J.) Metz, SysProg and JOAT

Unsolicited bulk E-mail will be subject to legal action. I reserve
the right to publicly post or ridicule any abusive E-mail.

Reply to domain Patriot dot net user shmuel+news to contact me. Do
not reply to spamtrap@library.lspace.org


Posted by LEE Sau Dan on January 23rd, 2004


Alan> I already have utilities/applications that will do
Alan> everything that Emacs does,

Please note that many Emacs "functions" are actually based on the
various utilities and programs. Emacs's M-x man is nothing but a
wrapper around man(1). Emacs's M-x compile is nothing but a wrapper
around an invokation of 'make'. And Emacs's M-x gdb doesn't reinvent a
gdb, but wraps around the real /usr/bin/gdb. Emacs's vc doesn't
reimplement RCS, but wraps around it. Emacs's PCL-CVS doesn't
reimplement CVS, but wraps around it.

Of course, in each case Emacs has a wrapper around a utility, it adds
value to it. E.g. Emacs's "cvs annotate" adss colours to the output
of the boring "cvs annotate". Emacs's M-x compile highlights the
compiler error messages with colour, and let's me jump to the
offending line by click the error, or pressing a function key. That's
why I always want to run these programs under Emacs. The added values
are so great.


Alan> and prefer to be able to upgrade, change, and alter them at
Alan> will,

I do that for my Emacs installation from time to time. Gnus is too
old? no problem. I just download the latest version and make Emacs
load the new one instead of the old one (which I'm reluctant to
delete). BBDB and Mailcrypt doesn't come with Emacs. So, I
downloaded them and installed. I just downloaded and installed the
"preview-latex" package today.


Alan> and to be able to know exactly what's screwing up if
Alan> something does.

That's much easier in Emacs. Emacs has a built-in elisp debugger.
So, you can spy any function, and it would fire up the debugger when
the function is invoked. Emacs also let's me inspect it's variable
values at any time. (/proc never comes close.)


Alan> Simple shell scripts can be used to weave them together as
Alan> needed....

Simple elisp can be used to weave the various Emacs packages as needed.


Alan> Seperate but together....

The various Emacs packages are also separate but together.




--
Lee Sau Dan +Z05biGVm-(Big5) ~{@nJX6X~}(HZ)

E-mail: danlee@informatik.uni-freiburg.de
Home page: http://www.informatik.uni-freiburg.de/~danlee