Domain: emacs.org
Stories and comments across the archive that link to emacs.org.
Comments · 12
-
The Editor war is over : Vim won!
After decades of war, it is finally over. Emacs has lost and is dying a bloody death!
The Marketshare of emacs has dropped to just 13%.
In fact, its not even Second place anymore, its been overthrown by Kate, the Kde Advanced Text Editor, which has 19% of the market.
Emacs is dying a horrible fate, it is outdated, still uses an Athena GUI while VIM has ports to the Qt and GTK toolkits. With less and less distrobutions shipping emacs and opting for VIM as default, who knows what will happen.
Emacs is very sick, if it is to survive at all it will be with Debian Zealots, along with the gnu/hurd and Aging LISP workstations. Even The emacs website is dead.
It is a sad they for the Church of Emacs, and its a cold cold day in hell. -
Nope
For a better web browser that does support mp3 playing, go here.
-
It's been done .... sort of
And the name of it? Emacs/XEmacs.
Now, don't get me wrong, I'm not a mindless Emacs zealot. I happen to think that Vi and Emacs are both (gasp) pretty neat. I was introduced to Emacs a year or so ago, and decided that it would be in my best interests as a hacker to make myself learn it. I'm still in that process, but so far it's paid off tremendously.
The power of Emacs is in the amazing integration of it's various extensions. As an example. Right now, I'm editing a perl script. At the bottom my screen, the "modeline" says this (abbreviated):
XEmacs: PasswdFile.pm 'set_up' S0 (CPerl ARev DCln Avoid Font Fill Abbrev)----L11--C0ll
Let's go through those codes one at a time:
- 'set_up': this is an indicator provided by an extension called function-menu that tells me which function I'm editing. The same extension also creates a menu of functions in the current file. It's completely seperate from any language-specific editing mode; and apparently uses a generic library to determine what functions exist in the current file. This means the extension itself doesn't have to change to be able to recognize functions in a new language.
- S0: This tells me I'm on screen zero. It's provided by an Emacs screen-management extension that works independently from (but seamlessly with) all other loaded extensions.
- CPerl: This says I'm in CPerl-mode, a sooper-dooper Perl code editing mode. It provides all sorts of handy keyboard shortcuts and auto-formatting, as well as the logic that other extensions use to customize themselves to Perl code (like how to tell a comment, so font-lock-mode can colorize comments, etc. properly).
- ARev: This means that the buffer is in auto-revert mode. Whenever another program modifies the file, it updates appropriately. This is completely seperate from all other extensions.
- DCln: This indicates dryclean-mode. The buffer will be stripped of extraneous tabs and spaces whenever it is saved. Again, this is independent from other extensions, and could be used on any type of file.
- Avoid: This mode moves the mouse pointer away from the text I'm editing, so it won't be in the way. Once again, completely independent of other extensions.
- Font: This means my code is being colorized, according to the patterns provided by CPerl mode.
- Fill: This means my comments will automatically be formatted to stay within the column limit I've set, and will be properly indented and have '#' characters prepended whenever a new line is started. This mode adapts itself to whatever language is being edited, and adds the appropriate markers to comments.
- Abbrev: This mode interactively expands abbreviations I've defined as I type them.
All of these extensions are independant from each other; they can be mixed and matched at will; and many can be used equally well in dozens of other types of files. Yet they all coexist happily in this one buffer, and even help each other. This is the kind of integration of little tools that the modern desktop needs; and so far, no one has attempted it since Emacs. All the many incompatible component technologies are based on the "fear and loathing" model - components are closed little black boxes, with their own little piece of the screen, and a few methods that they grudgingly make available to the outside world. This model, while very clean and attractive to OO programmers such as myself, doesn't lend itself to the kind of friendly, trusting, pervasive integration that Emacs features. Yes, all these extensions daringly allow other pieces of code view and even (gasp) change their "private members". The downside of this? Horrifyingly complex dependencies. The advantage? an amazingly well-integrated piece of software.
Until programmers can figure out how to provide this kind of pervasive integration within a modern GUI environment, the XPCOMs, Bonobos, KParts, etc. of the Linux world will simply remain programmer's tools, rather than timesavers for users. I believe that this article espouses a noble goal, but any hackers trying to implement it should look first to the past. They should remember this proverb, which I just made up:
Every good idea you have has probably already been coded, in Emacs Lisp
-
Re:Why consider Linux?At the risk of a flame war: Want good tools? Try:
- The Nirvana Editor
It may not be an MDI (multi document interface) like Visual C++, but then I like being able to pop up a xxgdb window and have three scrolling xterms of ouput from gcc's last runs rather than tabbing through a tiny window. Got better syntax highlighting too. - Don't foget EMACS
If you can't do it in EMACS, it probably can't be done (or is waiting for the Lisp to be written.) - One acronym -
CVS
As professional who has worked on real program (i.e. real-time embeded OSes for cirtical system with more than a Megabyte of Z80 ASSEMBLER code in some files) I cannot begin to attest to the superiority of CVS (or even RCS) over Microsoft's $600 SourceSafe product for managing (or mangling) project documents. - Bugzilla
Decent bug tracking tools are hard to come by and this one has withstood the test of time (and the mozilla codebase). I don't know of anything equivalent shipped by Microsoft (or specifically for their OS). - It's been mentioned already, but OpenGL works just as well on most Linux boxes as it does on MS Windows. I've written applets and games (for a University graphics class actually) that compile and run under both Windows and Linux.
- The Nirvana Editor
-
Possible reasons why Sun would do this..
There are a veritable plethora of reasons why Sun might release Star Office under the GPL, but one reason might be simply to extend the power and interoperability of Star Office by switching to the GTK+ toolkit and possibly even using other Gnome technologies such as gnome-print and bonobo. One of the biggest complaints against Star Office is that it tries to be it's own OS (Hmm...sound like another text processing program?) with it's start button, it's own "desktop", file manager, toolkit, etc. With the adoption of Gnome technologies by converting Star Office to GPL, they would suddenly gain interoperability with Gnome applications and have the use of a component architechture to share resources. In addition the potential for KDE getting in on the fun is endless.
---- -
Re:Constant release model?Eric Raymond, in his landmark Cathedra l and the Bazaar , which lead directly to the start of the Open Source Revolution, wrote so much, and am I to believe that you are more knowldgeable than the inventor of Open Source?
I beg to differ. The true father of the Open Source Revolution is none other than Richard M. Stallman. ers is nothing but an outcast, a reject, with inferiority syndromes because his contributions were not of high enough quality to be included in the allmighty emacs
.OSS programmers make fewer, if any, mistakes than their commerical counterparts, and scientific studies have backed this up.
Agreed. Only I would have chosen the British spelling: commercial.
Fetchmail is a very sucessful Open Source Projects which from Eric S. Raymond. I use it all the time.
But isn't emacs a much better example? It allows you not only to fetch mail, but to read it as well. Furthermore it allows you to read news, compile and even execute programs, play games and it is self documenting too! I hope you see the error of your ways and are more careful in the future when choosing who you listen to.
I'm just hoping they'll become interested in NetBSD!
Aha! Another indication of your ignorance, although I do not blame you. You have clearly been misguided by that blasphemous esr.
As the wonderful Richard M. Stallman says here NetBSD has numerous problems with its license, including even advertising clauses! Well, so much for Open Source Software.
Thank you.
-
Stephenson no "buffoon"
Why does anyone pay attention to this guy? He, like Bill Gibson, is basically a computer illiterate that writes fiction w/o any understanding of the technology they're writing about.
While you're right about Gibson (the man admits to never having seen a computer before writing Neuromancer), this is completely inaccurate regarding Stephenson. The man is clearly literate in a couple of programming languages and systems, and admits to using Emacs as his editor of choice for writing English text.
People complain when they hear "hacker" used in a negative light...but it's guys like Neal that _revel_ in the dark side of criminal computer cracking. It's the butter on their bread, and they know it.
Sorry, I just don't see that. Now, I haven't read every Stephenson novel there is, but in both Snow Crash and Cryptonomicon the "hackers" are people who build things. YT's question to Hiro ("if you're such a great hacker, how come you're delivering pizza?") is a valid one, and part of the answer is that Hiro is not a criminal. Randy Waterhouse and the Epiphyte(2) "hackers" are also engaged in creation, not destruction. The only character who is clearly a "cracker" is Lawrence Pritchard Waterhouse, and since he's a WWII codebreaker, he's wearing a white hat anyway.
Someone pointed me to some baloney that he wrote on command line OSes -- and it was just rife with errors. Written clearly by someone who wasnt there and didnt live through those times.
You mean "In the Beginning was the Command Line?" Funny, I thought it was spot-on. But I guess I must not have "lived through those times" -- I've only been programming for 20 years, and using Unix for 13 years.
I find that Stephenson's novels have enough correct technical details to give me the feeling of "yeah, he's either been there or knows somebody who has." Now, if you don't like his prose style, or his philosophy about operating systems and editors, then fine. But he's not a Gibson, making stuff up out of whole cloth.
Purportedly from an MIT job ad:
"Applicants must also have extensive knowledge of UNIX, although they should have sufficiently good programming taste to not consider this an achievement." -
*Legit* Uses
I don't know about you but I frequently find myself wanting to be able to track my steps back to the moment just before I screwed something up, so I can figure out exactly what it was that I did wrong. Sometimes, it's the other way around. I do something right by accident, and I want to have a way of backtracking my steps.
To elaborate, have you ever used a feature-rich program like Emacs? Have you ever had the experience of hitting Ctrl-X-Ctrl-B by accident and going, "Wow, how did I do that?"
I am sure that as a highly creative individual that you may be, you could come up with at least three other examples where the backtracking capability would be nothing short of a blessing, now couldn't you?
-
Re:Hmmm, Lisp...> but I think that someone should really try to fancy it up and release a professional IDE/compiler/libraries set that is capable of making real-world appications.
Why, isn't Emacs good enough for you?
Steve -
Re:Feeding the trollsSome mistakes (you really should proof read):
- Lots of people know LISP. It's an easy language to learn, making it nicely suitable for the underlying language of a powerful text editor.
- You claim Emacs is bloated, but then claim it's "just that, a text editor". Lots of people do lots more then edit from within Emacs.
- It's unlikely that Cygnus would have taken gcc over unless it were advanced enough for them to continue its development without a lot of headaches.
Thank you for your participation in the discussion. For more information you should refer to http://www.emacs.org and http://www.gnu.org.
-
Re:Support of many mailbox formats is nice
Mutt seems to me to have the nicest of the text interfaces; it is somewhat unfortunate that it doesn't have huge support for the multiplicity of folders that a MH user grows to. (I've got 350 mail folders and 179MB of archived email, for instance.) For managing that, the user interface of EXMH combined with a variety of shell scripts are pretty much necessary.
Take a look at GNUS running in Xemacs (or alternatively FSF Emacs if you are a purist, but the user interface is not as good IMHO) for a great solution to handle large volumes of email! I can never go back. I used to be a MH user, but I grew tired of the user interfaces (console usage is tiring, really. And Athena widgets? No thank you.)
There is a quite a learning threshold to GNUS, but it is definately worth it. You can keep browsing your MH folders if you want to, and transfer them to any of several mail folder (there are tradeoffs such as one mail per file and one directory per folder or one file per folder) formats when you feel like it. And with a full programming language (emacs lisp) under the hood, there is no end to the customization.
Lars
(Inspired by your .sig, I feel it is appropriate to say "Those who do not understand emacs are condemned to reinvent it, poorly". Please don't mark this as flamebait! :-)
Lars
-- -
Congratulations on being Microsoft-free!
And Apple-free, as well. Welcome to the world of free software!
As a habitual critic of some of your writing, I will hope that the end of this struggle means that you will now have more time to reflect on and think through the philosophical issues of what you are writting, rather than having to struggle with pppd.
:^)Now that you've made the conversion, it would be interesting if you could tell us about how you find Linux to work for you as a writer. What were you using to write before? What are you using now? Have you converted to the emacs religion, the vi religion, or are you using a WYSIWYG application? How did you choose? What issues are you encountering as a non-programmer writer in Linux? Do you in practice have to return to the Land of Bill for publications insisting on submissions in Word(tm) format?
(At least this should eliminate stupid flamage about Microsoft "Smart Quotes"[sic]
...)While Linux is larger than Emacs, at least Linux has the excuse that it needs to be.
-- Linus Torvalds