(Qwan is short for QualityWithoutaName)
- Emacs has been around for twenty to twenty five years, and has been ported to damn near everything capable of running it. This means it works. [See Note 1] We may detest the old COBOL programs, but they worked then and they work now and, we dearly hope, they will continue to work for the indefinite future.
- Emacs has been modified heavily for all of those twenty to twenty five years. The web did not exist when Emacs was written. Usenet was still years away, and X11 certainly didn't exist until even later. Nor did Windows, or Macintosh. Yet Emacs has one of the most powerful newsreaders around (Gnus) and a serviceable web browser (W3), runs natively on this here Mac, Windows and my Linux box, and has deep interfaces to languages that didn't exist in any form until 1984.
- Emacs has been sufficiently good to some people that they wanted to read Usenet, to look at Web pages, to read email, from within it.
- Emacs has been reimplemented by endless legions of people: Zmacs, EINE, ZWEI, Gosling Emacs, Multics Emacs, Microemacs, NotGNU Emacs, XEmacs, GNU Emacs, the original Emacs-on-TECO, Hemlock, Edwin [See Note 2].
I think looking at that mainstream commercial software is bound to be depressing in this fashion. So instead, I look to Emacs. I can name a dozen editors that don't suck off the top of my head. That's not what Emacs is about, and that's probably why it's thrived all these twenty, twenty five years. If I can build something a quarter as useful as Emacs, a quarter as polished, then I will have really achieved something. A successful technology creates problems that only it can solve
indeed. -- GrahamHughes
I wouldn't be looking to Emacs for inspiration if I were you. It is one of the least intuitive pieces of software out there and it suffers from CreepingFeaturitis
. It has an extremely high barrier to entry. It's unnatural.
That is, people can't find any archetypes in it to identify with. Heck, when I open Emacs and start whacking at the keyboard, nothing shows up. It just beeps at me, punishes me. Hell, Emacs is a programmer's tool for programmers. Programmers dancing to the beat of their own drums.
Like I said, software just creates more problems of its own. -- SunirShah
I just tried this in GnuEmacs 20.5.1, and it let me type into the buffer. No beeping.
that beeps at you. (You have to press 'i' or 'a' to start inserting text.) -- EvilViBigot?
You may dislike it. Many people do. But it has staying power, it has flexibility, and enough people consider it so good they don't want to leave it. If I can ever
write a program that people are still using twenty years from now, that people liked so much they copied it endlessly, that people liked so much they extended it to perfectly understand software that did not exist for years after I started, and that gracefully handled these extensions, I think I can die happy.
Yes, it is idiosyncratic. Yes, it has a bewildering array of default keymappings. Yes, the embedded language is showing its age. Many people find these flaws to be too overwhelming, and refuse to use the program. That doesn't mean that it is not a masterful piece of work, any more than the more obvious flaws in DonaldKnuth
's TeX make it any less a tour de force in computerized typesetting. -- GrahamHughes
You're missing the point - which is the point. Emacs like Unix is only used by programmers and technogeeks. SoftwareIsReallyPointless
because "heroic" software is only used by software people
. You're running around in circles. What I'm trying to show is that the software industry isn't interested in improving lives, solving problems for real
people; just software
people like us who scare real
people into paying us money to handle technology we made impossible for them to understand. And yes, I'm making a dichotomy between real
people and software
people because there is
a giant gorge between the two groups. -- SunirShah
You are confusing the 'software industry' (which may well be as self serving as you say) with what people have computers for. I write custom software to automate whatever can be automated for work, because we are growing and the busywork related to normal business is growing exponentially. I am not alone in this; indeed, most software is custom written. Emacs, CVS, PythonLanguage
] all contribute directly to this goal. -- GrahamHughes
You have a computer to use a computer. To write software for a computer. Without computers, you would have no need for a computer. You're being circular. Instead, consider who's paying you? They
are the people who applications are primarily written for. The end user. -- SunirShah
If you're looking for quality applications that were written for end-users, how about TeX and LaTeX? These are widely used in the scientific world (maybe not so much anymore) for typesetting papers with lots of equations, and plenty of scientists outside the world of computer "science" use them - or they hire secretaries who use them. (When I was an undergrad, I had a part-time job doing technical typing, using TeX, for a physics professor.) -- SethGordon
And what do the users, the secretaries, the undergrads type their TeX code in? Emacs. They don't program in Emacs or using it (though TeX is TuringComplete), they just get their job done. That's what software is about.
Absolutely. If you want to look for quality software for non-techies, perhaps some groundrules are in order. I think that to qualify, such software must either 1) allow the user to do essentially the same thing they were doing vastly better, or 2) allow them to do something essentially new.
Under these rules, TeX and Latex qualify in sense (1), as does AutoCAD. RDBMS qualify in there somewhere as sense (2), as a tool, not as a single implementation. Email is probably sense (2). Most 'productivity' software fails these criteria, even if it is massively utilized.
I think that part of the reason EmacsHasQwan
is the very fact that it is so unstructured and extensible. In other words It's one of those things that JustHappened?
as person after person decided to add this bit or that. Having said that though, I don't like it, it's a baggy monster with way too much attitude. I think it's time for a new editor, preferably something that's natively aware of URLs and XML, scriptable in PythonLanguage
and with automatic document packaging. Oh' wait a minute, isn't this reinventing Emacs... Seriously though, it's time to rethink what's going on in terms of how tools work together. Emacs is sort of like one of those massive Swiss army knives that's three inches across and has about 80 different tools on it of which ~69 are only used on the day you buy it. -- LarryPrice
I've changed my mind (this is written almost a year and a half after the above paragraph) EmacsHasQwan
by the bucket load, I guess it says something that I'm editing this in Emacs because I've had my browser set to use emacs for editing textboxes for about six months now. KeyboardMacros?
are defined regularly, obscure .el files are employed to fix even small problems, and certain major modes are invoked several times a day. I think the one thing that distinguishes it as having QualityWithoutaName
is that in use the tool vanishes from conscious awareness and only the task remains. -- LarryPrice
Many people have suggested reimplementing Emacs in X using Y, for some language X and some form of document Y. The fact of the matter is that Emacs is somewhere in the neighbourhood of 30 megabytes of source code, most of which is Emacs Lisp, and this is just what comes with the distribution; other useful packages like psgml, calc, bbdb and ilisp are separate. It is not
going to be recreated by anyone, any time soon, and all serious proposals inevitably involve transliterating programs automatically.
As far as size, what are you going to trim? No one person uses all of emacs, true, but most people addicted to it gradually use more and more as time goes on, and nothing exists in the distribution without reason. Perhaps you think the sexp-navigation commands are silly, but I literally use them all the time, and in many different languages than just Lisp. I didn't know about grep-find for years, and now I use it all the time. I know I don't use M-/ enough. -- GrahamHughes
It's not just that emacs has the QualityWithoutaName
, it's more that emacs is one of the (very small number of) SoftwareMasterpiece
(s) ever written. -- AlainPicard
The thing to realize about emacs is that it is a platform and not an editor.
It realized the WriteOnceRunAnywhere
vision well before java (before pcode?).
I would say this is one quality (under profoundness) that has sustained its popularity.
not before P-code. The P-system existed in the middle 70s that I know of, maybe before.
Don't think so. Pascal in early and mid 1970s, yes, p-code 1977 I believe, and Emacs was earlier.
- Just because a particular product has been around for ages doesn't mean it "works." Just look at Windoze to get a feel for that. Or how about Communism? Supply-side economics? Oy.
- I sure hope the above reference to Edwin as being an Emacs derivative is talking about something other than the Turbopower Software Edwin that I knew, loved, and respected. I can't imagine Esmacks having anything to do with spawning such a loverly editor as Edwin, which I used for years. [No, it's a reference to the editor used in MIT Scheme. -- EdwinWatkeys?]
See also: QualityWithoutaName