Fog Creek Software
Discussion Board




Explain why emacs is popular? (Not a troll)

Really, this is not a troll.

Whenever I've used emacs (or vi), I've been frustrated by the experience.  On the other hand, though, I've never put in any great effort to learn how to use it.

But with all the developers that are fans of emacs, I figure I'm missing something important that comes with learning how to use it.

If you're an emacs user, what's the great attraction?  Is there a compelling reason to learn how to use it?  I honestly want to know because it's possible, even likely, that I've just been closed minded.

If you're an emacs detractor, no offense but I'm really not interested in your opinion.  You're probably not going to say anything I haven't already thought.

yet another anon
Friday, May 28, 2004

I'm not a great fan of emacs, but I think I understand the appeal.

Emacs is totally extensible. It can do anything. You want an mp3 player built inside of emacs? No problem.

Of course, if you want to customize emacs to meet your own needs, you have to write your customization code in lisp. Not a lot of people are lisp hackers, but the people who do write the lisp extensions are generally willing to share their code with the rest of the world.

So, I think the most compelling reason for being an emacs junkie is because it's possible to extend emacs, in just about any way you can think of.

Personally, I don't like the UI. That's why I stay away from emacs. But, when I do have to use it (like, when I'm using ssh to connect to my webservers, I know emacs well enough to be productive using it.)

Benji Smith
Friday, May 28, 2004

Come on! It's as simple as Control-Alt-Shift-F2, Control-Z, Control-X, right-click-alt, shift-space, delete. Or something like that...

old_timer
Friday, May 28, 2004

I like it better than vi, and I use vi all the time. What else are you comparing emacs to?

The Real PC
Friday, May 28, 2004

Ahh man, one of my favorite topics as a emacs user. 

BTW, I'm not religious about emacs.  I use different editors all the time, but I always find myself returning to emacs.

Why emacs is popular?  In my opinion emacs was about 20 years ahead of its time.  The concept of emacs is more than an editor.  It is was an entire platform that included a byte compiled, garbage collected scripting languages, and huge underlying library.  There were and are many popular functions that can be accessed from emacs other than editing.  For example: dired (directory editor), gnus (news reader),  emacs/W3 (web browser).  It is an extension of the lisp machine concept that came out of MIT in the early 80s.

How influential was emacs?  In my opinion you can follow a direct lineage from .NET to emacs.  Crazy you say?  What platform is .NET most similar to?  I would say Java.  Where did java come from?  James Gosling.  How did James Gosling get started in this industry?  Gosling Emacs. 

Java is an extension of the emacs as a platform concept.  It has a byte compiled, garbage collected language, with a syntax more similar to C which likely added to its popularity.  It also has a display library, network functionality, etc.  It isn't much of a leap to see the progresssion from the Lisp enviroment to Java.  For instance: anonymous inner classes are very similar to lisp lambda functions. 

Is emacs worth while today? I think the answer is yes.  Here are my reasons.

1) multiple language support.  When a new language is introduced, before anybody writes a serious line of code, an emacs mode for the language already exists. 

Right now I am interested in python, and last night I looked around for a IDE that supported python.  I would probably be happiest if there was a Visual Studio.NET python mode, but it doesn't exist.  What is left is a bunch of immature IDEs that just by reading their descriptions I can tell I wouldn't be happy with.  Plus they would all require learning an entirely new enviroment.  So emacs wins again.  Since indenting is vital to editing Python, the Python mode in emacs is a requirement.

2) Emacs makes effective use of screen real estate.  Until VS.NET Microsoft hasn't approached the capabilities of Emacs.  In Visual Studio.NET the window concept is terrible.  A window is associated with a buffer and there is no way to edit two buffers in one split window.  This has caused me a lot grief of the years, because in emacs I use split screens with multiple buffers almost exclusively.  It maps closest to the way I work.  In fact I would like a desktop manager that works this way as well. Hell throw in a .NET command line scripting language and you have a modern day Lisp machine.  Everything old is new again.

3) It works in a terminal window.  Call me old school, but I still do A LOT of work at the Unix command prompt.  SSH to one of my Linux boxes in another state.  Set the screen resolution on my LCD up high.  Fire up emacs. Text editing nirvana!  All text, no silly windows to obscure my view of my code.  The more file menus, the less code I can see. 

4) emacs works.  Yes emacs is old, yes it is has its problems, but in the end it just works.  In the old days it was considered a bloated pig (Eight Megs and Constantly Swapping).  On modern machines it seems down right snappy.  Emacs is like an old reliable friend.  If all goes wrong, you can fire it up and it just there for you, like the the good days.

There were two vocationaly skills that I learned that have helped me out over the years.  One was learning to type and the other was learning emacs.  I don't regret either.

christopher baus (www.baus.net)
Friday, May 28, 2004

Being able to extend it is nice, but that is not what does it for me.  What I like about it is how it is really designed as a developers editor.  Very simple things that simplify writing code.  Take for instance how tabs work.

In a normal editor, hitting the tab key will either insert a tab character, or a set of spaces.  This is not really what I want the tab key to do.  When was the last time you ever used the tab key in an editor for anything other than indenting the code properly?

So in emacs, when I hit tab, *no matter where I am on the line*, the line gets properly indented (based on the previous line).  In most cases I don't even need to hit tab, since placing my ';' will also indent the line for me.  Indentation is something I never think about.

This is just one small thing, but it is one of those things that allows me to just concentrate on writing code.

Oren Miller
Friday, May 28, 2004

Christopher, you don't like IDLE ? (for Python ? ) Wow, you must have some serious requirements of an IDE, I tell you.

I detest emacs :) vi all the way, baybeeee ;).. but I think I can figure out at least part of the appeal. To some developers, it's the thought of "whenever you want it, it's there". In the same way that the Quake engine from Id software is used by a lot of different games, emacs is the ultimate IDE for "oh, someone else has already thought of using it for this purpose before".

Added to this, it's actually had an embedded language (elisp) which allowed extension in weird and crazy ways. It's the feeling of comfort, knowing that you're programming with the full power of a programming environment in it's own right, the kitchen sink... oh, and an editor too.

deja vu
Friday, May 28, 2004

Think of time before GUI, when there were only terminal.  Emacs as THE platform then makes more sense I think. 

The thing is I code in multiple languages at the SAME TIME, all the time.  For instance I am interested in Python as test script platform, and C++ as the application language.  There is much value in having consistent support for both in the same editor.

christopher baus (www.baus.net)
Friday, May 28, 2004

> you don't like IDLE ? (for Python ? ) Wow, you must have some serious requirements of an IDE, I tell you.

That's a joke right?

christopher baus (www.baus.net)
Friday, May 28, 2004

I used vi for 7 years.
I tried emacs for 7 days and then I never used vi if I didn't have to.

Social Programmer
Friday, May 28, 2004

I use it, actually XEmacs, for most of my program editing and for a lot of the other things it is good for.  But I don't have enough experience with other editors (except vi) to compare it.

Mostly I edit text files, but it can be useful analyzing test data when used in a Unix environment.  I can open a text file containing columns of test run output, then select a section of interest and run it through an awk or perl script and get the output in another emacs buffer.  It can also do things like run diff on a couple of files, then display the two files with the differences highlighted for you to step through and examine.

The regular expression capability can also be very useful.  I don't use it much, but when I have it has saved me a lot of time.

mackinac
Friday, May 28, 2004

Christopher, that was very well written and inspirational feedback.  Thanks.

yet another anon
Friday, May 28, 2004

I use textpad on my windows workstation at work(a bit of xemacs) and emacs/xemacs on my linux workstation at home and on work/home servers. I used to use vi until our sysadmin turned it off since when we timed out vi would keep using cpu (so he said). I was forced to use emacs and suddenly I got the glimpse of the power. A major factor for me in using vi and now emacs is I NEVER need to use my mouse. I despise picking my hand from the keyboard, watching it move over to the mouse, descend (actually I use a trackman) and then move the little cursor.

Right off the bat, in conjunction with  your other unix/linux tools (especally etags) the environment (not just an editor) is very powerful. Multiple windows, drop down to a shell or open a shell in emacs and I can save the contents of my shell activity or copy/paste from it easily, dired is great, bookmarks are great, macros are okay (I need to improve myself there) ... and then it says "customize me for your environment". 

BTW, etags ... I can jump to a function in some other library by just typing ESC . <function name> if the library function is in my etags file which it usually is.

And you can extend it to the extent of your brain and imagination.

me
Friday, May 28, 2004

Personally I use Epsilon, which is a pretty decent Emacs clone.

I learned emacs with the REAL emacs on a TOPS-20 (Jim Gosling was a CS student at CMU at the time, his emacs is a clone of the real emacs which was written by RMS).

There was a time I could actually read and code TECO although those days are long gone.

I had emacs burned into my keys because there was nothing better for the TOPS-20 at the time.

When I moved to the PC, a couple of friends of mine from school (Steven Doerfler and Todd Doucet) wrote a clone of Emacs for the PC, and I bought a copy of it as soon as I could.  I've never stopped using it and have faithfully purchased upgrades as they've become available.

I use VI as a quick&dirty editor, but my fingers belong to Emacs.

Larry Osterman
Friday, May 28, 2004

Boy and those opensource nagging about Windows and Office being bloated.

AZT
Friday, May 28, 2004

Emacs is a programmer's editor. 

Yes, the comments about extensibility are true, but the default emacs behavior is very powerful.  In order to use emacs properly, you need to spend a great deal of time learning how to use it.  One of the ways that I learned was just watching a guru edit code for a few days.  I'd ask things like "whoa - how'd you do that?" a lot.  The learning curve is very steep but the view from the top is fantastic!

Here's a list of reasons why I love Emacs for programming:

0) Good programmers realize that the mouse is an inefficient input device for editing code.  Emacs allows you to do EVERYTHING with the keyboard.  This makes life simple and efficient.

1) You get to edit multiple buffers at the same time and you can view them in the same window (frame - in emacs terminology) via splitter bars.  The bars can be placed in arbitrary locations and is all keyboard controllable.  This is a very efficient use of screen space and allows you to see many parts of interrelated code at the same time which makes coding and debugging easier.

2) You get auto-formatting and coloring of code.  This makes code easier to read and reduces syntax errors.  Getting the right indent-style for example is a simple matter of using the TAB key.

3) You have powerful code browsing functionality.  You can search for the declaration of variables, classes, etc... You can browse around code by following { } pairs for C/C++ programming for example.

4) The raw text editing commands are clean and efficient.  You get word/variable/identifier/etc... completion.  You get a practically infinite undo buffer.  There's the concept of the kill-ring for cut-and-paste which is like the clipboard concept but easier to use.

5) The compiler can be invoked from within emacs and the error/warning messages are parsed by emacs such that you can jump to the error/warning with an efficient keystoke.

6) The debugger can be integrated into emacs.  You can step through code, setup breakpoints, etc... all from within the editor and never have to use the mouse.

7) You can record macros on the fly to automate tedious repetetive operations.  For the emacs gurus, you can also write your own functions/extension in elisp

8) The search function (either plain text or regular expression search) is "incremental".  I have not seen this is other editors.  So if I'm searching for the word "foobar", as I type "f", it will jump to the first instance of "f", then when I type "o", it jumps to the first instance of "fo", and so on.  Searches are saved in a history buffer.

9) You can display/hide code heirarchically much in the same way that visual studio does with it's tree-view -- BUT, you never have to use the mouse.  Another use of this is for #ifdef hiding for the C/C++ programmers

10) You can invoke a command line shell from within emacs and then use all of the powerful editing features of emacs to run the shell.

11) The concept of the "mark" allows you to place anchor points on where you were working so that if you jump around to some other area of the text file you can immediately jump back to the mark.  There is also a mark history, so you can jump back to as far back/forward as there are marks.

12) Global search and replace allows you to do a search and replace for the current file you are editing and ACROSS other files as you specify.

The list goes on and on...

emacsdude
Friday, May 28, 2004

Christopher -- I'm not into Python (yet), but isn't Active State's Visual Python what you're looking for:

http://www.activestate.com/Products/Visual_Python/

It's described as the "Complete Python development environment for Visual Studio .NET."

Herbert Sitz
Friday, May 28, 2004

" 8) The search function (either plain text or regular expression search) is "incremental".  I have not seen this is other editors.  So if I'm searching for the word "foobar", as I type "f", it will jump to the first instance of "f", then when I type "o", it jumps to the first instance of "fo", and so on.  Searches are saved in a history buffer."

The editor I use has this, and it drives me absolutely crazy to use anything that doesn't have it now.  Every time I hit ctrl-F (or whatever) and a "Find" window opens up, I just groan.  Incremental search is *so* much more efficient and easy to use (for an experienced user, at least).

MikeMcNertney
Friday, May 28, 2004

" 8) The search function (either plain text or regular expression search) is "incremental"."
It's one of the reasons I like VisualStudio that it has incremental search...

WildTiger
Friday, May 28, 2004

I think I would love emacs if someone came up with a GUI for it that didn't look like a badgers arse. LISP rocks.

Matt
Friday, May 28, 2004

Emacs had a lot of "firsts" that other editors and IDEs are finally catching up to.  Auto-format modes, infinite undo, complete on-line documentation, and auto-symbol expansion are just a few examples.  Yes, VS.NET has them now, but Emacs had them two decades ago.

Favorite Emacs feature: keyboard macros.  I create a quick keyboard macros in seconds that saves gobs of tedious editing or otherwise require a python/perl script.  Maybe VS.NET will have that someday too...

J. Peterson
Friday, May 28, 2004

Christopher said:
"A window is associated with a buffer and there is no way to edit two buffers in one split window.  This has caused me a lot grief of the years, because in emacs I use split screens with multiple buffers almost exclusively.  It maps closest to the way I work. "

In VS.Net 2003, try right clicking on one of your open file tabs and pick "new horizontal tab group" or "new vertical tab group". You can also drag tabs between groups.

Chris Altmann
Friday, May 28, 2004

It took me a LONG time (about 2 years) to get used to Emacs, but now that I am, I can't bear using any other editor. There are so many little tiny features that I am hardly conscious of, but would be extremely annoying if absent (incremental search, very smart auto-indenting, good syntax highlighting - even on a UNIX console - consistent behavior of Home/End, etc). Yes, you can find some or maybe all of these features in other editors, but you will definitely not find all these features in an editor that runs on all major operating systems. When I sit down at a new PC, Mac, or Linux box, I just need to install Emacs, copy my preference files, and I'm right at home.

I think Emacs has a large user base relative to most other "non-mainstream" editors because it's been around for decades, it's been ported to every platform, and will continue to exist in its current form for the forseeable future.

Dan Maas
Saturday, May 29, 2004

And there's also an inertia factor, for those of us who've used emacs for years are accustomed to it.

Though the wonders of the Eclipse IDE have finally provided me the impetus to stop using emacs for Java code. (And, for whatever reason, I haven't bothered to turn on the emacs editor mode within Eclipse.)

Julian
Saturday, May 29, 2004

> In VS.Net 2003, try right clicking on one of your open file tabs and pick "new horizontal tab group" or "new vertical tab group". You can also drag tabs between groups.


Yes yes... my bad.  My editing is terrible, I will admit.  VS.NET does just about everything I need.  Buffer handling, incremental search, yadda, yadda...  For C++ I am happy with it.  VC 6 which we all used for years (say like 6), didn't support any of this, and I hated it for it. 

christopher baus (www.baus.net)
Saturday, May 29, 2004

Incidentally, a real power of emacs is that all these things everyone mentioned can be combined and multiplied off each other. No single feature can be considered in isolation, because they feed off each other. And instead of being a monster, this same power allows one to hide and control complexity.

Tayssir John Gabbour
Saturday, May 29, 2004

One important aspect of emacs is that it is a totally different way of thinking about software.  It is nice, and maybe even important for innovation, to get out of your Microsoft world once in awhile.  I am convinced there are a lot of emacs uses at Microsoft because VS.net is becoming more and more emacs like.

christopher baus (www.baus.net)
Saturday, May 29, 2004

Incidentally, maybe you'll be happier with emacs if you find the good docs.  Here are some I've found, though I can't promise they'll work for you.

- http://www.gnu.org/software/emacs/emacs-paper.html
For some reason this is more interesting in book form, but maybe you can print it out or something. There is something painful about learning emacs from the online tutorial or docs.

- http://www.amazon.com/exec/obidos/tg/detail/-/1578700116/
Chassell's "Emacs Lisp: A Short Description" is the best emacs lisp intro I've seen. (Not like I looked at many.) Short and well-written. Didn't waste my time.

Emacs is incredibly funny, in that it's powerful despite large engineering tradeoffs resulting from rms having few resources. And it was the incredibly viral lisp platform, despite perhaps being the weakest lisp around. Unix, a weak OS, virally spread because many people illegally had its sourcecode (Lions book) and it was cheap; Bell Labs apparently neglected it.

Tayssir John Gabbour
Saturday, May 29, 2004

At first, I thought you had failed to specify a question: it shouldn't be "why emacs?" but "why emacs over editor ZYX?".  (It's not that I haven't tried other editors -- emacs is pretty #@!* ugly, and I wouldn't mind switching, if I found a good alternative.)  But then I realized that this *was*, in fact, the answer.

Remember Joel's article about "lite" word processors?  The reviews all say "This is a great word processor, yada yada yada, but I can't use it for writing this 2-paragraph review because it lacks feature XXX".

Emacs is like this.  There's no magic feature that makes it so useful.  (Well, maybe some low-level architecture stuff, but no user-level feature.)  The reason people use it is because compared to emacs, every *other* editor we try is a great editor, yada yada yada, but I can't even use it to write helloworld because it lacks feature XXX.  (I remember passing on Visual Studio way back when because it couldn't preprocess a region.)

The reason it's hard to get people to switch is because XXX is different for everybody.  It's keyboard macros, it's interactive search, it's automatic indentation, it's support for every language they use, it's code folding, it's moving the cursor without moving your hands over to the arrow keys, it's paren matching, and it's 5 dozen other little things.

joelfan
Saturday, May 29, 2004

Emacs is hard (Ctrl-X Ctrl+C) - two step control sequences, that's too dificult for me.

VIM/GVIM can be customized by scripts too - and the script looks somehow like Basic ;-)

i got some scripts + key bindings, so this way LINUX GVIM
looks like a real windows editor.

http://www.michaelmoser.org/myenv/index.html

Michael Moser
Sunday, May 30, 2004

> There is much value in having consistent support for both in the same editor.

I wish you would tell my boss (WOCIAF) that.


Sunday, May 30, 2004

Michael: hehe.  Emacs is too "difficult" because of its keyboard shortcuts, so you use ... a vi clone, with the keyboard shortcuts remapped so they aren't so "cryptic".  ;-)

i hear you can customize emacs, too
Sunday, May 30, 2004

... It also has integrated build, grep and help (F1 on a
word in the editor gets youi the man page), it knows how to follow #includes

i know that emacs has/can have this too, but it was so much easier to find out how to customize this vi clone.

Michael Moser
Monday, May 31, 2004

Somebody commented on the ugliness of the emacs GUI.  Why should a programmer care about the GUI of the editor?  Code is text.  For me I set the font to the smallest size I can comfortably read (lucdia-consle 8point on windows).  I turn off the menu - it wastes space.  The splitter bars are only one line of text high and provide me with just the right amount of information that I need.

Everytime some VS user comes by and watches me or watches someone else that knows-what-they-are-doing-with-emacs, they instantly want to convert.  It's something that words can't convey :)  You have to really see it in action to truly appreciate the leaps in efficiency that you can gain.

emacsdude
Monday, May 31, 2004

For me, it's got to be the auto-indent and stuff designed to make writing code easy.

VS feels just too much like an editor that happens to be used for writing code... it doesn't feel like it understands the work that's happening.

Emacs is an editor that knows what you're editing -- tab just "putting lines in the right place" is the perfect example of this.

And then it works well with all the other languages: I work in LaTeX, C++, SQL, Shell, PERL and the indent feature works in all of them, all of the time, consistently. When I open a PERL file in VS, it loses any sense of knowing what's happening.

Being able to work on a 25x80 text screen when my eyes are too tired to look at a high-res display is great, and not needing a mouse means it's a tool that works well with laptops.

A similar case can be made for vi, but that again seems not to quite understand the languages you're editing.

Katie Lucas
Monday, May 31, 2004

I've used emacs, vi and different IDEs.

I personally prefer vi or gvim now adays. I've used emacs, however the pinky in my left hand cramps after a couple of hours of usage. Too many "Ctrl-<anything here>" commands.

As per other IDEs, they are just fancy text editor with some automated things built into them. I.e. Auto builder, intellisense, etc, etc.

I'd go for gvim instead of emacs...

Jose Sandoval
Monday, May 31, 2004

> I personally prefer vi or gvim now adays. I've used emacs, however the pinky in my left hand cramps after a couple of hours of usage. Too many "Ctrl-<anything here>" commands.

That's why I map caps-lock to Ctrl.  It's much easier on the fingers.

emacsdude
Monday, May 31, 2004

"Somebody commented on the ugliness of the emacs GUI.  Why should a programmer care about the GUI of the editor?"

Uh, because I'm fucking looking at it all day long, every day.  Same reason I don't sit on a pile of rocks: I don't want a sore ass, and I don't want sore eyes.

(Why is it that Gnome and Mozilla and all other recent programs have a huge selection of fonts that look great, but Emacs and XEmacs still give me a much smaller selection of fonts, nearly all of which look like ass, and are nearly impossible to configure?  Are the Emacs/XEmacs guys just *trying* to make my life painful?)

Wally
Tuesday, June 01, 2004

Wally,

The font is very important.  Visual and physical strain is an occupational hazard, which is why I only work with large high-resolution LCDs (1600x1200) and a comfortable keyboard (MS natural kb).  I usually prefer to use fixed-point fonts for programming, for obvious reasons, and the options there are already very limited (courier or lucida-console or some form of "fixed" for unix work for me... my linux emacs gets invoked with "emacs -fn 6x13").  The windows version (NT-emacs) renders fonts just like any other windows app.

Speaking of sitting on rocks - That's how I feel when I use other editors.  I just can't get as much done with them in a given amount of time because the features are so lacking.

I agree with you that Emacs is hard to use at first, but in my experience, that people I know that have taken the time to learn to use it well have been very glad they invested the time and effort.

To summarize my philosophy... fonts are important since code is text and text is rendered in a font.  Colors are important since it emphasizes the syntax/structure of the code and reduces syntax errors.  Folding code in and out are important for looking at only the parts of the code that are relevant to the problem you are trying to solve at hand.  Highlighting { } or ( ) pairs or other language specific semantics are useful for the same reasons colors are useful.  The ability to quickly look at any arbitrary area of code for definitions/declarations etc... (intellisense in VS lingo) is very important because it allows you to keep track of fewer things in your head so that you have more mental room to solve problems.  Indentifier completion also helps because now you aren't afraid to use long descriptive names since you don't have to type the whole damn thing in (helps with software maintenance).  Autoformatting, templates, macros and elisp all work together to automate repetetive/monotonous/mind-numbing typing which reduces the time it takes to bang out code.

Toolbars, menus, buttons, tabs, dialog boxes (which steals the focus and serializes workflow) etc... waste space and time since I can do the equivalent functions with the keyboard.  The mouse is far too inefficient for coding.  If I had a third hand and pin-point control, maybe the mouse would buy me something.

Your optimal work environment may differ.

emacsdude
Tuesday, June 01, 2004

emacsdude: I've been using emacs for at least 12 years now.  I've learned its bastard-child Lisp dialect, and written my own modes for it.  When's it supposed to get easier to set the #@^&! font?

(Oh, and the variables ignore-half-my-fonts and use-ugly-font-rendering don't seem to exist.  I'm missing something...)

If they showed a normal Gnome font-picker, yes, it's a separate dialog, but you only use it once every couple years.  I have a very hard time believing that it would be slower than forcing people to reread the manual for the right Lisp variable to set (or try to figure out the "Customize" system, which is usually just as bad).

I'm not arguing against Emacs: I use it every day.  I'm saying that I haven't been blinded into thinking that Emacs is perfect.  In some ways, it really sucks -- just not enough to get me to change, yet.

Wally
Tuesday, June 01, 2004

Wally: Just add to your .emacs a line like:

(set-default-font '"[name of font]")

Mike Schiraldi
Tuesday, July 20, 2004

Wally -

If you ever come back to read this, try shift-Mouse1.
It pops up a font selection dialog in every GUI version of emacs I know.

Devil's Advocate
Tuesday, July 20, 2004

The reason is simple - extensibility.

I don't think emacs is the best _text_ editor in the world, but it is the best IDE under linux. We can use emacs to receive/send mails, compile/debug programs, edit various file formats with advanced features support, write latex papers, take notes/diaries, browse web page and so on. We can do too many things in emacs. It is not just a _text_ editor. It has the ability to integrate many other unix/linux tools, just a little bit like perl. Vi is still the best text editor in linux, but it is just a _text_ editor, ;-).

Yan Tang
Tuesday, August 03, 2004

When I asked a newsgroup 11 years ago about an IDE for c++, emacs was proposed. I actually knew microemacs from MC68000 systems, and was very reluctant to settle for emacs at that time. Its just a weird experience (typing ctrl-x-f-5 for a new frame, etc).

But If I had settled for Emacs at that time, I would have had a stable "editor environment" for at least 10 years, and emacs will be around for another 10 years believe me. This is one advantage. It is here to stay. The key combinations are weird, but once you get used to it, you do not bother. It is feature-rich but weird.

If you need a cross-platform (!!!) editor that does all those extra things out-of-a-box (shell, macro, syntax highlighting, function list, catching compiler error output etc) you can use Emacs under win32 and linux.

I use XEmacs because it offers a lot out of the box and enables me to
- use a cross-platform-editor on win32 and unix/linux
- develop python/perl programs with debugger on win32/linux
- develop c++ in an somehow-integrated-way on linux/unix. (I use MSVC under win32)

Amanjit Singh Gill
Sunday, August 29, 2004

*  Recent Topics

*  Fog Creek Home