The Future of Emacs
An anonymous reader writes "If you've not heard much about Emacs development in recent years, you might
be surprised to find that it is has been very active. Emacs 22 will have many
new features such as support for Mac OS X and Cygwin; mouse wheel support
and many new modes and packages. It can also be built with Gtk+ widgets and
supports drag and drop for X. The NEWS file details all the changes.
Although its very stable, don't expect to see it released any time shortly because according to
RMS, the Emacs developers haven't been fixing bugs quickly enough. Those
who have followed Emacs for long enough might see a different pattern."
fast as fast can be. you'll never catch me.
Since we're talking about Emacs here, it would be good to clarify whether Emacs will be running under OS X and Cygwin or the other way around.
I too have felt the cold finger of injustice.
It's no wonder so many open source projects never make it as far as a v1 release - emacs is stealing all of the version numbers!
22!!
VI? bah user friendliness pussy!
real men use ed
Ubuntu is an African word meaning 'I can't configure Debian'
If you've not heard much about Emacs development in recent years, you might be surprised to find that it is has been very active.
Wow - I just thought it was full.
I want to drag this out as long as possible. Bring me my protractor.
Emacs 22 will have many new features such as support for Mac OS X and Cygwin
Wait, so I can use my Emacs operating system on top my Windows operating system?
I'm still waiting for them to release an emacs that runs on the metal, without an inferior (read: not written in lisp) OS in the middle.
mouse-wheel.el has been providing mouse wheel support for years. It's just being added to the core distribution.
Till it has a clippy...
Give me clippy!
Deleted
WE need a poll!
Really, we do!
slashpoll:
1. VI
2. EMACS
3. Cmdr. Taco's notepad
Debian unstable has weekly snapshots of cvs emacs.- snapshot
http://packages.debian.org/unstable/editors/emacs
I have been using it for some time now and it works like a charm.
Even though emacs is a very good editor and development platform that for a long time have filled the purpose of being a swiss army knife for the software developer, I think its days of glory are over.
Sure there will be emacs for many years to come, but I guess that Eclipse will more and more play that role for the generation of developers that grew up with graphical user interfaces. More and more programming languages gets supported by Eclipse, and the support of the existing ones seam to get better and better, and the community around it are getting stronger and stronger.
Even so, its nice to see that old goodies like emacs are still supported and continue to evolve.
God is REAL! Unless explicitly declared INTEGER
"We are already out about more bugs faster than we are fixing them, and the cause is simple: we are not working enough on fixing them."
Or, it could possibly be that they are discovering bugs faster than they can fix them. But it is hard to tell, it could be that they just aren't fixing them. But I am not sure. What was the problem again?
He who knows best knows how little he knows. - Thomas Jefferson
I just bought my dad an iMac, and was looking around for an emacs build for it.
Any ideas on an ETA?
Help! I'm a slashdot refugee.
What's so great about it that people insist on using it rather than any other editor? Seems all of the features are available for just about any other editor, and most of themare a lot easier to configure, and more compliant with UI guidelines.
You can keep your windows editors ... wait, how many of them are there? Notepad and wordpad? At least I've got a nice selection with just a basic Linux install.
Not trolling but this works both ways. Install Windows, need to use an editor, so use one. Rather than evaluate which one of X editors I'd prefer to use.
Just to demonstrate why a lack of choice might be a good thing, which is better: vi or emacs?
real men use ed
No, real men use cat, and get it right the first time!
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
use tramp mode; then, you can run email in full mouse-supporting glory on the client platform, and emacs will transparently copy files hence and forth. All you need is ssh access to the robot, not even emacs there.
The main problem I see with Emacs is its terrible learning curve. Given the competing IDEs now available, I can't see any future for it unless it radicaly simplify the process needed to master the program. Drag'n'drop and mouse wheel support? That's not enough - I'd even say that they're against the traditional Emacs keyboard-only workflow.
The only future I can see to the Emacs style of working is in projects like Archy or Quicksilver, which completely redefine the particular tasks while keeping its strengths.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Emacs and Vi have both been around for a very long time. Back in the mid-late 80's, I remember taking some computational math and fluid dynamics classes. Part of the projects involved writing FORTRAN code and the professors used Vi. As a result, documentation was readily available so, I used Vi as well. Of course, Emacs was there too but the documentation was not as available. Frankly, just shutting the command line version of Emacs down took some research. Anyway, there was a palpable elitism among the Emacs crowd which I always assumed to be more due to them using the "un-official" and more complex editor. As for myself, I didn't care, the editor was the means to the end, not the end in itself.
Nowadays, Emacs (and XEmacs) have nice GUI's in front of them that greatly simplify their use. I use XEmacs on my Windows box (through Cygwin) at work and Emacs on my Ubuntu and SuSE Linux boxen at home. I still use Vi (Vim nowadays) when I need to quickly pop into the command line and do a config file edit, but I program in (X)Emacs. I know there is some sort of friction between the Emacs and XEmacs camp but that's not my concern. I use them both and I like them both.
It's very bizarre that, 20 some odd years later, the Emacs/Vi war still rages on. For me, the editor is the means to the end and always will be. Heck, with Ubuntu, I'm starting to use gedit more and more.
A goal is a dream with a deadline
I never will understand people that use Emacs. If I wanted a bloated editor I'd be using Microsoft Word to edit my text files. When I want to edit a text file vi is infinitely easier, virtually universal on UNIX platforms, and has a tiny memory footprint.
Emacs is not (mainly) a text editor, it's an IDE for integrating the whole programming process.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Real Men use raw TECO, where a pair of mistyped keystrokes can destroy your whole source, corrupt your kernel and start a full-scale nuclear war.
"The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
I don't see any line item bugs for "Make Emacs like Eclipse". There should be.
Eclipse kills emacs. Emacs will be relegated to a super niche market if it does not borrow some of the techniques of Eclipse.
Eclipse has many more than the following advantages:
Programming domain issues have been thought out. Code gen follows some patterns, and eclipse makes far better use of them that emacs
-- Such advantages as click on a variable to go to its instantiation.
-- Underlining errors
-- sure you CAN spend hours trawling for the modules to do the same for emacs, but that sucks, and yields variable results.
A unified project space is opened up by default. You can see all your files.
-- It takes a while to work out where Speedbar is under emacs and it sucks. Even if it sucks it should be opened by default, like *scratch*
I'm happy to use Emacs everyday. But the reason I use it is:
I finally have a .emacs I'm happy with
You can run it well over ssh
It has emacs keybindings [duh, but important]
These are not enough reasons to bring new emacs users into the project. What do we do if RMS is hit by a bus or the existing emacsers eventually die of old age? Emacs people need to form and take ownership of sub projects around certain problem domains. e.g. Go HERE for Perl Emacs and HERE for XML editing. At the moment all you have is a loose coalition of Perl.com et alia articles.
[% slash_sig_val.text %]
AS far as I know, Emacs already supports the mouse wheel. I know I've scrolled with the mouse wheel, although it's some obscure option to turn that on. I find that I don't really use the mousewheel that much anyway though, it takes too long to move your hand from the keyboard to the mouse.
Are you sure that shouldn't be mouse-whe.el?
Well, I'd like to see another editor with which I can read mail, news, rss-feeds or which builts wikis or which has superior LaTeX support. And this are only my needs.
Which UI guidelines? Text editor UI guidelines? Care to provide a link?
I don't know about Emacs, but XEmacs fits nicely into Windows' GUI. Better than both on Linux.
UnNetHack: NetHack Improved!
Still far from the goal: 42
Think Deeper, Emacs!
May Peace Prevail On Earth
You know, I'm a fan of emacs, but doesn't this everything-and-the-kitchen-sink approach go against the Unix philosophy of making lots of small interoperable tools that do one thing really well?
Vi is a lot different from emacs. I use vi when I have to modify faster a configuration file from shell but I need emacs when I want to do something more complex. In my opinion the "war" between vi and emacs is a stupid thing. They are both good free software products, choose the one you like more, I like how emacs can be customized and improved with its emacs-lisp and I like vi when I have to edit a simple file. If you want the GTK version of emacs you can compile it by yourself, this is what I did.
was always "vi or emacs?" Since I was interviewing Unix developers, the answer could tell me a lot about them. The people with blank looks who didn't even know you were talking about editor were never asked back.
Genius is one percent inspiration and 99 percent perspiration, which is why engineers sometimes smell really bad.
Just wondering.
The headline makes it sound like Emacs is in some kind of danger. I think it's probably one of the programs with the least likelihood of going away, ever; almost everybody who uses it is qualified to maintain it and reluctant to stop using it. Emacs will be around as long as keyboards.
I still won't use it, but it'll be around.
You know, I'm a fan of emacs, but doesn't this everything-and-the-kitchen-sink approach go against the Unix philosophy of making lots of small interoperable tools that do one thing really well?
But you see, that is why emacs is so great, because all of these 'features' are not 'built into' emacs, but in fact emacs lisp programs that extend the basic editing functionality. The core emacs abilities are key to editing: supply a place for the text to be displayed (buffers), supply easy ways to switch between multiple files being edited (this may be slight overkill -- perhaps a window manager should be used for this, or some terminal switching type program, but getting the kill ring to come across those would be hard), supply a good arsenal of editing commands at a low level, and supply the ability to change the action mapped to any key. All the rest is on top of this core. A lot of the functionality is even sourced from other commands (like ediff -- uses diff).
I think it was Eric Raymond who said that all the time that went into snazzy interfaces and GUI support in other programs was spent on editing text in emacs. It shows -- if you want to edit text, use a dedicated text editor.
That being said, I think the main reason for Tetris in emacs is "because it's there" -- on some geek level it seems quite cool to me.
Languages aren't inherently fast -- implementations are efficient
Despite the trollish title of this post, I'm essentially an emacs fan. I am a writer, not a coder, and prefer the command line over GUI. I am the author of the Woodnotes Guide to Emacs for Writers (HTML) (PDF Version) and a bunch of books and papers..
But I find myself using emacs less and less frequently. My first complaint is getting emacs and my Linux console to work correctly with diacritical marks. I know that's a function not only of emacs but also the packagers of my distribution, plus a deplorable lack of easily-installed console fonts that contain those glyphs. But regardless of whose fault it is, this problem makes it hard for me to get my work done the way I want to.
I also need to program lots of small macros for very specific text editing features while writing a book that requires a silly markup format unique to the industry. Emacs was simply too hard to program for me to be able to implement it. Instead, I found Jedit, which easily facilitated things like switching between soft and hard wrap, keystroke macros, and some features I now find indispensable, like search and replace across all documents in a directory.
It's not that emacs doesn't or can't implement these features, it's that it doesn't do so easily. I wrote up a little page about the macros and jedit features I use most frequently. It would be extremely difficult to publish similar instructions for emacs because of the greater difficult inherent in installing, using, and sharing macros.
I still use emacs, but I use it for emailing, in conjunction with Mutt, the world's best email client. And for writing, I tend to stick to Jedit. Best of luck to emacs, which I still like, but I think for people like me the world has progressed and emacs is of limited use.
If this were Usenet, I'd killfile the lot of you.
I'm feeling trollish, but I have to say it : if you are new to linux, you won't touch emacs (nor vi, nor ed, nor...) you'll probably use a graphical editor which works 'out of the box' (or out of the emerge, or out of the apt-get) which has auto-highlight, the same shortcuts as windows editors. Of course they also have mouse wheel support since many years.
emacs is made to work in text-mode and use a lot of cryptic (let's get real) shortcuts that you just have to know. If you are ready to train a day or two memorizing them, you'll probably be comfortable and productive with it but if you are not, juste use kate, scite, etc... which are editors equivalent of your usual 30$ windows-shareware tool of choice.
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
I have never understood the name Emac. iMac, ok; maybe the "i" stands for "interactive," or "internet."
But "e," as in "email" or "e-commerce," means "electronic." So what you've got here is an electronic Mac? Well geez, how do all the other kinds work? Are they a mass of cogs and springs on the inside?
Emacs has all of those things, and pretty much anything else you can drum up from your favorite IDE.
I should start off by saying that up until very recently, Emacs has been my main editor. I work on Mac OS X and Linux primarily, and have used Emacs for quite some time. Emacs has worked on OS X for awhile already (either under the Carbon variants that exist, or via X, or via the terminal), so in that regard the article is somewhat misleading.
What I like most about Emacs is that it has the best support for non-mainstream programming languages of any editor, ever. Period. I program in more than a dozen languages (C, C++, Java, Haskell, OCaml, SML, AliceML, Oz, Erlang, Scala, Scheme, Common LISP, Python, Perl, Ruby, APL, etc.), and many of those languages either have no support in other editors, or very poor support if they do. Emacs is the only editor that has at least *decent* support for all of them, and in a way that allows me to maintain a fairly similar style of usage across different languages. In other words, I get to keep my basic functionality and editor customizations relatively the straightforward and things just work pretty well no matter what task I am currently doing. On top of that, extending Emacs functionality to make certain tasks easier is pretty simple, even if you don't know much in the way of elisp. Most of the time, you can simply dig up a snippet of functionality off emacswiki.org. But adding stuff yourself isn't difficult, and the ability to evaluate elisp code inside of emacs itself speeds up the process of writing more complex functionality.
However, it's not all roses. Despite the power of emacs, the reality is that emacs is arcane and outdated as hell. The ugliest manifestations of this arrive in a few different ways:
1) One of them is the ad-hoc way in which emacs is customizable. Emacs basically just runs elisp scripts at run time, and whatever sort of state changing computations that are contained in those scripts reflect themselves in the editor you are eventually presented with. This is a fine idea on a small scale. On a large scale, it's bad. For one thing, it makes extending the editor in specific fashions, with complex features, much more difficult to do in a maintainable way. Essentially, there's little in the way of structure to help maintain conceptual integrity here. It's easy for things to break when you start to combine complex functionality from different pieces of code (usually manifested as modes or something similar) in ways not forseen by their respective authors beforehand. The other end of this, which falls in line with the maintainability problem, is the fact that this approach makes code reuse more difficult. Extensions to the editor in the form of elisp scripts are usually a one-off affair, and are not typically made to be particularly modular. You see the result of this in major-modes which largely accomplish the same tasks, but never share any of the same code. This is common not only in the modes for different programming languages (say they might all support a REPL, but in a slightly different way), but also with modes for other purposes.
2) Unicode support. Emacs is getting much better here in more recent times, but it's far from perfect. Unicode support is difficult to setup on Emacs in a way that is easy to use and works predictably. I have had more experience here on Mac OS X with emacs, so admittedly it's possible that the situation isn't as bad on other platforms. However, true, well integrated Unicode has been late in coming to Emacs because of the legacy of design in the way Emacs has traditionally handled text manipulation and fonts.
3) Display. Emacs text display is starting to show its age. I don't pretend to understand exactly how text display and font handling works in Emacs, but I understand that it is based on legacy designs. Manipulation of the display in text through emacs, with stuff like region highlighting or font locking, is nowhere near as flexible as what is possible in text views for editors in more modern frameworks that follow a design more akin to presentation through styles (
...I tried Emacs, but I didn't seem to have enough fingers.
Still, version 23 will have a special mode that will let you see the fnords.
"Are you being weird, or sarcastic?" said Emma. I said I didn't know because I get the two feelings mixed up.
"Although its very stable, don't expect to see it released any time shortly because according to RMS, the Emacs developers haven't been fixing bugs quickly enough."
Yeah, it's really too bad they don't work quite as fast as those Hurd guys.
#DeleteChrome
RMS hated Lucid. Really, really hated Lucid. He saw it as a commercial vampire sucking the life out of the MIT AI Lab. Google around and you'll find his essays on the subject.
When Lucid came to him with Emacs changes, it must have been kinda like if Microsoft started submitting multi-megabyte patch sets for the Linux kernel.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
I've used vi for twenty.
First, I can use Emacs without taking my hands from the keyboard, ever. I can compile, debug, run a shell - you name it, I can do it without having to reach for the mouse.
Ditto for vi.
Second, it is customizable in the extreme. Everything from key bindings to highlighting is driven by Elisp and regular expressions. Don't like the way something works? You can quickly and easily change it by rebinding a lisp function; most importantly, you can make these mods on the fly, without having to run a separate compile step, without having to restart the editor.
Try vim.
What I'd like to see is an editor that combines the best of Emacs and Eclipse. You'd never have to take your hands from the keyboard. You'd get the attractive UI of Eclipse without the Visual envy. You'd get an editor that makes you more productive and happy than any other.
Try gVIM.
Nothing for 6-digit uids?
>> Slashdot: The place where old computer jokes go to die.
Well only if you insist.
You know what the acronym emacs stands for?
That's right
Escape
Meta
Alt
Control
Shift
It has been statistically shown that helmets increase the risk of head injury.
Do daemons dream of electric sleep()?
Eclipse is great when I want to be productive. When I'm using eclipse, I have to close my mail client and my web browser and all the myriad of other distracting applications. The bloat(understatement) is a feature not a bug.
It has been statistically shown that helmets increase the risk of head injury.
Analogies don't equal equalities, they are merely somewhat analogous.
Eclipse plugins are a pain to write. Eclipse is way to abstract and high level, one needs to write about 10 classes to make a certain word a different colour in an editor. It does not make the life of a plugin writer easier.
From my perspective as an end-user, Unicode and bidirectionality support are the most glaring omissions of both Emacs and XEmacs. Mule development has moved slower than a mule's pace and, frankly, I'm tired of waiting. I think that, by the eve of 2006, there is little excuse for not getting these things done or putting them high on the priority list. Along with CJK and LGC (latin, greek, and cyrillic, Arabic script is one of the three most important script systems in use and in importance.
To be fair, there is only one product at all of which I am aware that gets these three issues right, SCUnipad
http://www.unipad.org/
In particular, its Arabic-script handling (including diacritics) is second to none. But it's not open source, development seems to have stalled (sigh), and it has few basic and no advanced features for coders aside from excellent unicode utilities. If any (X)Emacs developers are reading, I hope they will take a look at Unipad and consider implementing some of its features. I will be happy to consult on Arabic-script issues.