|
|
Subscribe / Log in / New account

Making Emacs popular again

By Jake Edge
May 6, 2020

The Emacs editor predates Linux, and was once far more popular, but it has fallen into relative obscurity over the years. In a mega-thread on the emacs-devel mailing list, participants discussed various ideas for making Emacs more "attractive", in both aesthetic and in "appealing to more users" senses of that term. Any improvements to Emacs in that regard have numerous hurdles to overcome, however. There are technical questions and, naturally, licensing considerations, but there is also the philosophical question of what it is, exactly, that stops the venerable text editor from being more popular.

So square

The discussion started with post from "ndame" asking why Emacs is "so square"; the appearance of things like buttons could be improved with rounded corners, they said. Richard Stallman, one of the original authors of Emacs, seemed somewhat dismissive in his reply: "Perhaps we should implement a mode that puts cosmetics on Emacs so it will appeal to those who judge by the surface of things." But Stefan Kangas thought there was more to it than that:

I think it's unfortunate if we assume that this is all bells and whistles. Graphical design elements can also improve usability.

I also don't know that it's helpful to assume that the rest of the world will take the enlightened stance. For example, I've always assumed that many people use Sublime Text not due to any serious feature comparison with Emacs, but because they like its "sleek look".

He wondered if there was "any reason not to improve the default look". Stallman said that there are some technical barriers in finding someone interested in and capable of doing the work needed, but there is an overarching problem that needs to be addressed first:

The code to interface Emacs to X-based GUIs needs rewriting by an expert, and has needed it for decades. Until it gets that rewrite, changes in it are likely to break something.

Stallman did agree that the graphical design could improve usability, "but I have a feeling that the changes that would help are deeper issues than the shape of corners". The GUI interface only matters if Emacs users are leaving those features (e.g. the menu bar and tool bar) enabled, Eli Zaretskii said, but much of the advice out there on configuring Emacs suggests disabling those things.

It is hard to be enthusiastic about making these features more modern when the community seems to be divided on whether they should at all be present. IMO, we should first get our act together and decide whether these features are important, and then speak up according to those decisions when we see advice to the contrary.

Beyond that, though, there are bigger problems with Emacs as a whole, Joseph Garvin said. The Emacs user interface "doesn't look or behave like any other application", the keyboard shortcuts are different than other programs, and the terminology used in the Emacs world does not match with what users expect:

[...] no Microsoft word user has ever considered themselves to have opened a "buffer". They open "files". They move "windows" around, not "frames." They cut and paste not kill and yank, etc.

You are basically making a commitment to being or becoming a power user. I certainly would not have put up with it if I didn't think it was going to save me a lot of time as a software developer (and it does, everyday). I doubt anyone invests the mental effort to deal with learning emacs nowadays unless this is their goal. If you just want to do "casual" text editing emacs is a very weird choice in 2020.

But "modernizing" Emacs (however defined) is likely to be a waste of the project's time, since its look is not what's holding it back, Ahmed Khanzada said. For example: "Terminal-based Vim is not like a modern application, yet is more popular than Emacs." The appeal of an editor that can be extended using the Lisp language is somewhat limited, he said. Spending a bunch of time and energy to give it a modern look would not change that and, by the time the work was done, the definition of "modern" will have changed again.

Popularity

Kangas wondered about the assertion of Vim's popularity; Khanzada pointed to a 2019 survey that showed Vim with a substantial lead over Emacs (20% to 3% is what he reported, though it shows 25% to 4% as of this writing). That survey showed that Visual Studio Code (VSC) is the clear winner, however, with 50+% of respondents using that tool. You could perhaps quibble with the survey's methodology, but the broad-brush numbers do not seem wildly out of line.

That set off some discussion of why users prefer the experience with VSC. "We need to figure out why VSC is so popular, and then fill in the areas that Emacs is missing", Po Lu said. Bob Newell thought that "the goal of making Emacs more accessible and more appealing is laudable and ambitious"; it is something that the project could accomplish, he said. He is worried, though, that today's software is aimed at "instant gratification" rather than long-term usability—and power.

Yes, make Emacs appealing and user friendly. But don't forget that a masterful tool in the end requires mastery, which can't come for free. I certainly draw the line at saying Emacs is for everyone. I'm not saying it's only for some sort of snooty "elite" but I am saying that it's for those who are willing to learn, seeing some extra work as the aforementioned long-term investment, and who have the patience reach a worthy goal a little later rather than right this very minute.

Stallman agreed with that sentiment. But he would also like to see Emacs return to popularity as an editor of text for publication. Several noted that Org mode is already being used successfully for text-publication purposes. That mode is not familiar to Stallman and he was unable to learn much about using it for word processing by reading the documentation. Zaretskii pointed out that there is a high barrier to learning Org mode from its documentation, at least for the word-processing use case.

Once again, though, it seems quite unlikely that some putative, well-documented word-processing Emacs mode is likely to have users flocking to the editor. But Stallman said that the user profile for Emacs was much broader 30 years ago; he would like to see it be that way again. He personally does not see rounded corners as part of that, though he is not opposed to efforts in that direction; "[...] if you want to attract more users to Emacs, I think there are more important areas for improvement." Lu had some ideas along those lines, for example using starter kits (or packs) to help make the editor "more friendly to newcomers".

There was a difference of opinion about making changes to the defaults, though, in order to help newcomers. If changes need to be made for the sake of newcomers, ndame said, established users can just turn them off. For example, Cua Mode, which adds the "standard" keybindings for things like cut and paste (i.e. ctrl-c, ctrl-x, ctrl-v) to Emacs, should be on by default; "it could make the life of new users easier if they didn't have to turn it on explicitly and they could use their copy/paste keys from the start like they are used it to in other tools".

But Lu suggested adding a button for newcomers to turn on those features from the splash screen instead. Better still might be for Emacs to recognize a possible newcomer, ndame suggested:

A button can work too. Or if emacs is started with no config file then it can ask "Are you using Emacs for the first time?" If the user says yes then it can offer to set some convenience features like CUA mode.

And if the user says no then everything is as usual.

There was some discussion of gathering feedback before deciding to change defaults and such, but Dmitry Gutov wondered if existing users are even relevant. If expanding the reach of Emacs is the goal, it may make sense to look at the problem differently:

So for all questions about changing defaults, we should ask ourselves, do we prioritize the existing 5% (or 3%, as SO poll says) userbase that will naturally continue shrinking over the years, or whether we prefer to make life easier and more productive for the users that should come later.

And it's not like existing, long-time users can't grow to like the new defaults (even after a certain amount of grumbling).

Lu disagreed; "We should prioritize existing users over hypothetical users that don't even exist yet." But Gutov said that might be shortsighted; "I don't want Emacs to die out, and it will if we don't do the work of attracting new users." No real conclusion was reached; everyone would like to see the number of Emacs users (developers, testers, documentation writers, ...) grow, but how to do so is unclear at best.

Licensing

Back to rounded corners, Zaretskii said that the only thing standing in the way of that was code to implement it; "[...] patches to add such capabilities to Emacs are most welcome". But Emacs is multi-platform, Gutov said, which means that buttons look different on each. Even on the same platform, different graphics toolkits give different looks—and the looks change between toolkit releases.

Alex Bennée suggested that "unifying under a single cross-platform toolkit like GTK+" would avoid some parts of the problem, but he also noted that a longstanding bug in GTK+ had caused him to use Emacs with the Lucid toolkit instead. He also worried about the next generation: "I've been thinking about text editors for my children to use as they graduate from point and click programming to proper text and even I'm not sure I want their first experience to be Emacs."

Zaretskii pointed out that GTK+ is not really cross-platform. In addition, the bug in question is not considered to be one by the GNOME developers, which led Ulrich Mueller to muse about a switch to Qt. But Stallman was quick to put the kibosh on that; Qt is only available for GPL 2 and 3, using it would mean that if there is a GPL 4 someday, Emacs could not switch to it. "So we must avoid using Qt."

Electron was also raised as a possibility, but it turns out to have "freedom issues", Lu said. It is not clear how serious any of these ideas were; switching graphics toolkits is a decidedly non-trivial undertaking. It does seem like an indication that some in the Emacs development community are getting frustrated with the GUI version(s) of the editor. Beyond that, many of the Emacs developers do not even use the GTK+ version because of the bug, which leads to less interest in improving that version of Emacs; it all seems to be something of a mess.

The icons used by Emacs were also questioned in the thread, with licensing rearing its head there as well. The Emacs subreddit is apparently fertile ground for thoughts and suggestions as it came up a few times in the thread. For example, ndame reported "that a user posted a screenshot of an emacs toolbar with really sad looking icons at the end". There are icon sets available under the GPL that could be used instead, they asserted. But Zaretskii cautioned that things may not be that clear-cut:

Feel free to point us to GPLed icons that can be incorporated in Emacs. At the time, the situation was nowhere as easy as you imply, but maybe things have changed since then.

Several icon sets were suggested, including GNOME icons, some from Wikimedia, and those from KDE, all of which are available under various free licenses (GPL, Creative Commons, LGPL). But there is more work to do than just identifying candidates, Zaretskii said:

Someone™ needs to invest the time and effort to figure out the legal issues, find the icons that we want out of those which are legally fit, and post the resulting information. We did that process at the time (AFAIR, quite a few of our icons come from Gnome/GTK), and it wasn't easy.

Alternatively, someone could create our own icons, in which case they could be even prettier than the ones pointed out here.

In any case, this is a non-trivial job, and volunteers are most welcome to do it. I don't think anyone is happy about the icons shown on the tool bar by Message mode; the only reason we use them is that we couldn't find better ones that are free and suitable for inclusion in Emacs.

But, ndame asked, shouldn't icons that come from GNOME, a longstanding free-software project, be perfectly acceptable to use in Emacs? Sadly, it is not so easy as that, Zaretskii said: "IANAL, but I think it has to be GPL v2+ at least. And perhaps we would also need the copyright assigned to the FSF." For example, the Wikimedia icons are available under the the LGPLv3 and Creative Commons Attribution-ShareAlike (CC BY-SA) 3.0 licenses, but neither of those would work for pieces that are part of the Emacs program, Stallman said. Without the "or later" on the LGPL grant, the Qt problem would exist; CC BY-SA 3.0 "is incompatible with every version of the GPL". But that may not matter in the end:

If the icons would NOT be part of the program, Emacs, then there is no conflict.

The Emacs distribution contains many works, including textual, art, and small programs, which are distinct from the program, Emacs.

Zaretskii and Stallman were able to determine that icons for Emacs fall into that category, so they simply need to be available under any free license, which should simplify things—if someone gets the time and energy to work on the problem. Like most projects, Emacs suffers from a shortage of human power; a project to improve the GUI that may not be widely used by those developers could go wanting. And that, in a lot of ways, sums up the situation with the editor project.

Moving forward

Emacs is quite useful for its adherents; many of them see it is their main interface to their computers. Others use it regularly but less universally. There are even longtime Vim users (who may have started on vi, in truth) that need Emacs for certain tasks—me for example. It serves all of these users well, but does it really still have a role in ten, twenty, or forty years? It is not an easy question to answer, of course; certainly it will still be with us in both ten and twenty years, but how many users will it have in forty?

Part of the problem is that the dedicated following for Emacs is also pretty resistant to change to any major degree. That's not meant as a knock of any sort, simply an observation. There are plenty of examples in that huge thread of ideas that were seemingly shot down because they represent change that might upset existing users. But it would seem that some changes of some sort are needed to bring in new blood. If few or no new users are coming in and nothing is done to attract more, it can only lead to eventual extinction.

Hopefully that is not the path that Emacs is on—or if it is, that it changes direction before (too) long. It is one of the earliest free-software programs in existence; pre-dating the term "free software" by nearly a decade, in fact. Of course, the code itself need never disappear entirely, but a vibrant—growing—Emacs community would be wonderful to see.

In truth, we have barely scratched the surface of that mega-thread. There are plenty of sub-threads that went completely unmentioned here; those interested in Emacs development—warts and all—will find plenty to read and digest there. Whether Emacs ends up with rounded corners or not seems like simply the tip of the iceberg of things that might need to be addressed to make Emacs more newcomer-friendly. How that can happen within that community remains to be seen.



to post comments

Making Emacs popular again

Posted May 6, 2020 22:39 UTC (Wed) by jgg (subscriber, #55211) [Link] (7 responses)

Having used Emacs for about 20 years now, doing C/C++/Python/VHDL/etc programming, I am now mostly using VS Code today.

The C mode in VS Code is ridiculously better than emacs. Emacs shot itself in the foot by both not allowing GCC's font end to be useful and refusing to use clang's useful front end, both for philosophical reasons. Without this part it is just hopeless.

My biggest sadness with VS Code is that the key language server part of the C mode is not open source, and has many annoying defects :( Also other things like bad interaction with X11, lack of customizability of the mouse bindings, and remarkably, failure to support multi-monitor, make it pretty hard to like. But the language server is fantastic..

Add in the VSC Remote extension (tramp is total garbage in comparison) plus VSC Live Share and you really have something quite unique and useful.

Suggesting fiddling with the emacs GUI really misses the whole point of why VS Code is so popular right now.. I think if you wrote Emacs in HTML/CSS/JavaScript you'd probably end up quite close to VS Code. ie it is the original dream of emacs pulled out of the 1980's and recast in a Web 2.0 world that is familiar to a huge developer base.

Frankly I find it complete nonsense to be using an editor in a web browser on an interpreted language, but you know what? People said the same of emacs in the '80s and '90s...

Making Emacs popular again

Posted May 7, 2020 4:41 UTC (Thu) by kastauyra (subscriber, #110760) [Link] (2 responses)

But Emacs has LSP support too, in lsp-mode / eglot packages, which, feature-wise, is as complete as VSCode one.

For me, LSP is what makes Emacs viable in 2020. The C++ tooling state before LSP was pretty sad - cc-mode using regexps to "parse" C++ can get you only so far, and I was never able to get CEDET to work.

Making Emacs popular again

Posted May 7, 2020 23:48 UTC (Thu) by jgg (subscriber, #55211) [Link]

I haven't tried it, so I can't say.

But this is kind of my point - *emacs* is not relevant any more because major stuff like really good LSP support is just not part of the main project's concern.

Now I want to find time to try vsc-clangd..

RE: lsp, C++ (and rtags) (Making Emacs popular again)

Posted May 14, 2020 13:01 UTC (Thu) by dfszb (guest, #138896) [Link]

Just for the record, we had rtags (https://github.com/Andersbakken/rtags) before lsp-mode (and the ccls backend), and rtags did and still does a great job, the symbol usage lookup is still better imho than those offered by lsp-mode backends (ccls or clangd). I used it on several projects, from small to fairly large (500k sloc), with heavy c++ / boost usage. The lsp-mode tools offer much nicer UI and very flexible completion, they can also slow down emacs to be like Visual Studio.

Making Emacs popular again

Posted May 7, 2020 7:42 UTC (Thu) by wIvE4lF2GnJ1BFb (guest, #131745) [Link]

Honestly, using Emacs with emacs-lsp and clangd works brilliantly well for C and C++.

I use it on any project that has a proper build system like Meson or CMake, that write a compile_commands.json in their build directory, which you can tell clangd to read so it knows exactly how each file is compiled and has all of the insights that the compiler also has.

clangd is packaged in most distros by now, since clang 7 or 8 it has gotten very good.

VSCodium and C-language LSP server licensing

Posted May 7, 2020 10:28 UTC (Thu) by ber (subscriber, #2142) [Link] (1 responses)

Can you be more specific, about which part of the C-language LSP server are you referring to for being proprietary software?

To me if something is completely available as Free Software, is an important indicator and both a safeguard to make a software future proof. Thus https://github.com/VSCodium/vscodium (an initiative to rebuild VSCode) is very interesting and what we recommend at the workplace to people that like this editor.

(Thanks LWN for the article and you all for the nice discussion (except the two comments born out of frustration from my point of view).)

VSCodium and C-language LSP server licensing

Posted May 7, 2020 18:09 UTC (Thu) by jsmith45 (guest, #125263) [Link]

The VS code default C/C++ extension (Microsoft/vscode-cpptools) uses a proprietary LSP based on MSVC and is therefore not open source.

Of course, one could use a different C LSP implementation, but that extension would not be designed for configuring and launching some other LSP server, so ideally you would want to use some other extension designed around the other LSP.

Making Emacs popular again

Posted May 9, 2020 19:46 UTC (Sat) by marcH (subscriber, #57642) [Link]

> Add in the VSC Remote extension (tramp is total garbage in comparison) plus VSC Live Share and you really have something quite unique and useful.

Can VS do something like magit over tramp? That's the killer Emacs feature for me. Like most things Emacs it isn't "good looking" but I have seen nothing ever come close functionally.

Making Emacs popular again

Posted May 6, 2020 22:49 UTC (Wed) by tchernobog (guest, #73595) [Link] (13 responses)

I thought that what made VSCode popular was that you can write your extensions and config files in JavaScript / JSON.

Many developers are already familiar with those in their daily projects. eLisp is not something you want to get your hands dirty in 2020 as a fresh college graduate / young professional.

Not to mention all the long-standing issues (e.g. lack of multithreading which makes the UI block). There was at least an attempt to move to GNU Guile, but I am unsure it went anywhere.

But the amount and quality of extensions (especially language server integration) available with one click in VSCode are the clear winner for me, rather than the keymaps, icons, or rounded corners.

Making Emacs popular again

Posted May 6, 2020 23:23 UTC (Wed) by wblew (subscriber, #39088) [Link]

I have used VSCode, and it these benefits attracted me: great language support, fast startup, and easily configured.

With emacs, I just never got into all those control key combos. Maybe it was a learning curve thing.

Making Emacs popular again

Posted May 7, 2020 1:15 UTC (Thu) by dvdeug (guest, #10998) [Link] (9 responses)

I wonder if switching to Scheme would matter. I see Scheme as a somewhat useful language to know, whereas Emacs Lisp is its own little cul-de-sac, and not highly respected as Lisp dialect.

Making Emacs popular again

Posted May 7, 2020 11:58 UTC (Thu) by smoogen (subscriber, #97) [Link] (5 responses)

I have seen people ask about it for 30 years, and there is no 'switching'. The people who tried found that using scheme is a complete rewrite from the ground up to make a Scheme editor... and after a while just ran out of oomph of trying to make it happen. There was also an attempt by some people 20? years ago to use Guile but it also ran out of oomph. Usually because they realized that instead of the tiny project they were running into a bigger one and also running into stop energy from emacs people who will point out that your tool doesn't have X and emacs already does so why rewrite it, and stop energy from people with XYZ editor who are very happy with it thank you very much.

All in all, if someone is going to do it, they need an ego of a superhuman to power through the giant valley of despair... and usually those people find other things to work on.

Making Emacs popular again

Posted May 8, 2020 2:56 UTC (Fri) by tome (subscriber, #3171) [Link]

> using scheme is a complete rewrite from the ground up to make a Scheme editor

A couple years ago I think Andy Wingo had gotten guile to the point where it could interpret emacs lisp. So the great mass of emacs functionality, including extensions, implemented in elisp, would run with guile swapped in as the implementation. There was no longer a need for a complete rewrite of all that elisp code. People who prefer to do so could write new packages in scheme and take advantage of guile's greater speed and capabilities. It came down to some remaining issues in the C code of emacs. I thought it sounded feasible, but I could be wrong. Can someone tell me what's untrue about that scenario?

Making Emacs popular again

Posted May 8, 2020 4:18 UTC (Fri) by marcH (subscriber, #57642) [Link] (3 responses)

> The people who tried found that using scheme is a complete rewrite from the ground up to make a Scheme editor... and after a while just ran out of oomph of trying to make it happen.

Readable Lisp S-expressions seem like they would be much easier to implement and maintain, wouldn't they? https://readable.sourceforge.io/
It wouldn't change the language but merely add a clearer syntax. I naively think it would help.

Making Emacs popular again

Posted May 10, 2020 5:14 UTC (Sun) by milesrout (subscriber, #126894) [Link] (1 responses)

S-expressions are already very readable, they just take a little getting used to. Once you've got used to them, they're much easier to read and understand than 'readable' expressions. I don't think really surface-level stuff like this helps.

Making Emacs popular again

Posted May 10, 2020 15:18 UTC (Sun) by marcH (subscriber, #57642) [Link]

> Once you've got used to them, they're much easier to read and understand than 'readable' expressions.

Thanks for your personal impression but please have a look at the reference.

Making Emacs popular again

Posted May 10, 2020 19:03 UTC (Sun) by jem (subscriber, #24231) [Link]

I'm not convinced. Lisp is known for having almost no syntax at all, but this big specification adds quite a lot. On top of that, it is backwards compatible, so you can freely mix the old S-expressions and the new syntax.

The specification also adds "meaningful indentation" à la Python (and Haskell), with all the cumbersome interaction between tabs and spaces, and problems with copy-pasting code.

My fix to the readability problem is to indent the code properly, and split the code into separate functions as appropriate. Use an editor which does the indentation automatically, shows matching parentheses, and warns about the "silly extraneous" parentheses. It doesn't really matter if a Lisp function ends with 13 closing parentheses, as long as they are all there. You don't have to count them.

Now, if I could only think of an editor that is up to the task...

Making Emacs popular again

Posted May 7, 2020 12:17 UTC (Thu) by Sesse (subscriber, #53779) [Link] (1 responses)

Those 95% not using Emacs are not going to use it because of a switch from elisp to Scheme. Both are super-obscure languages today.

Honestly, Emacs would probably be in a better place if RMS didn't have any say.

Great support, and lots of cool new tools

Posted May 11, 2020 19:47 UTC (Mon) by tnoo (subscriber, #20427) [Link]

> Honestly, Emacs would probably be in a better place if RMS didn't have any say.

Emacs is his baby, and he cared for it his whole life. And he still does: I had a reproducible crash a few years ago. It took one hour for him to send me a first patch that fixed the bug. And after one day of discussion on the mailing list the root cause was found and fixed. No vendor does that.

For me, the amazing thing is that emacs got a lot more momentum thanks to great tools like org-mode, magit, ivy/avy/helm, pdftools, org-ref that were not around ten years ago.

Making Emacs popular again

Posted May 25, 2020 17:00 UTC (Mon) by moltonel (guest, #45207) [Link]

That's where a switch to guile seems most appealing : it supports EmacsLisp, Scheme, ECMAScript (aka javascript), and soon Lua. I use Emacs all day every day, but I don't like lisp, and I'm sure many potential Emacs users are turned away by EmacsLisp. Contributing to Emacs would be much more appealing if you could pick and choose between any guile-supported language.

Making Emacs popular again

Posted May 12, 2020 1:15 UTC (Tue) by briangordon (guest, #135428) [Link] (1 responses)

Atom was there first on the JavaScript point, and seems to have gone even further to make every little thing pointedly modularized and extensible. Yet VSC came out on top. Maybe someone who used both editors can speak to why. My only guess is that the first-class (and conspicuous) git integration in VSC became a killer feature for people who wanted an editor equipped to interact with the burgeoning GitHub/GitLab community but who weren't totally comfortable with the command line interface.

Making Emacs popular again

Posted May 12, 2020 2:53 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

VSCode is just faster and more fluid than Atom.

(I prefer IntelliJ editors, they are unmatched in their semantic editing support)

Making Emacs popular again

Posted May 6, 2020 23:18 UTC (Wed) by jkowing (subscriber, #5172) [Link] (1 responses)

* My First Comment
I can't leave emacs because:
- 90% of my memory is written down in org notes using org-mode.
- M-x C-f combos keep my fingers limber.
- I feel too close a kinship with emacs given that my popularity peaked around 3rd grade. I have come to resigned acceptance that my glory days on top of the social pyramid are gone forever.

* My Second Comment
Now, excuse me, I have a M-x doctor psychotherapy session with my Emacs to attend to - it greatly helps me in these days of social distancing.

Making Emacs popular again

Posted May 7, 2020 0:23 UTC (Thu) by felixfix (subscriber, #242) [Link]

I have been using Emacs since the early 1980s, I think, so long that I cannot imagine editing without it, and cannot imagine what any newcomer feels. It's odd reading these descriptions of why people like VSC; but I do like the JavaScript idea in addition to Elisp. (I don't understand what JSON has to do with Emacs unless it is meant for config files.)

Making Emacs popular again

Posted May 6, 2020 23:40 UTC (Wed) by JohnVonNeumann (guest, #131609) [Link] (9 responses)

The most common complaint I hear about emacs and vim are that users wish to simply have something that works, I think it's for the most part a philosophical debate that is more a sign of the times than anything else. You have web developers with new frameworks and even IDE's every day, and these are the developers less likely to be interested in spending the time to learn their tools, which vim and emacs both require. I think that the people who use VSC are also very likely to jump ship to something shinier when it comes along. The quote made here nails it IMO:

"That set off some discussion of why users prefer the experience with VSC. "We need to figure out why VSC is so popular, and then fill in the areas that Emacs is missing", Po Lu said. Bob Newell thought that "the goal of making Emacs more accessible and more appealing is laudable and ambitious"; it is something that the project could accomplish, he said. He is worried, though, that today's software is aimed at "instant gratification" rather than long-term usability—and power."

I read "The Pragmatic Programmer" before I got into technology, so I came in with a fairly "craft" view of tooling, and for my age and time in industry, my opinion is not a common one that a programmer is a craftsperson that should choose their tools wisely and work with them to learn them and get better. I regularly have to fend off my choice in the workplace to use Vim. For the most part I've stopped having the discussion though.

Even then, I'm a pretty massive vim fanboy and even I have found myself moving away from it for certain things just due to the head aches it can provide doing development in modern programming environments with Python and the like, having to manage combination of LSP servers with python versions and it's own environment, then a version for vim to support python code completion is an absolute pain.

I appreciate that I've talked mostly about Vim, but for the most part I think emacs and vim are in the same boat.

Making Emacs popular again

Posted May 7, 2020 10:38 UTC (Thu) by daniels (subscriber, #16193) [Link] (8 responses)

> You have web developers with new frameworks and even IDE's every day, and these are the developers less likely to be interested in spending the time to learn their tools, which vim and emacs both require. I think that the people who use VSC are also very likely to jump ship to something shinier when it comes along.

Where on earth did this meme come from? Modern web and networked-service development relies on a huge constellation of tools - much more so than 'traditional' C development. Those tools do change and evolve rapidly, yes, but that happens in response to different needs and uses. If you're making the argument that they're wrong, well, they're not the ones having an existential 'is our project still viable?' debate.

Making Emacs popular again

Posted May 7, 2020 17:17 UTC (Thu) by NYKevin (subscriber, #129325) [Link] (5 responses)

> Where on earth did this meme come from?

It's just sour grapes. People have been denigrating the popular for as long as "the popular" has been a thing.

Making Emacs popular again

Posted May 7, 2020 17:48 UTC (Thu) by hkario (subscriber, #94864) [Link] (4 responses)

how many JavaScript frameworks are there?
how long do they remain popular?

Making Emacs popular again

Posted May 7, 2020 18:04 UTC (Thu) by daniels (subscriber, #16193) [Link]

... how many linked-list and hash-table implementations are there in C? How many YAML implementations are there in Python? How many modules are available in CPAN?

Perhaps the number of frameworks/libraries and the velocity of their development within the web world is reflective of the vibrancy of their ecosystem, and the willingness to try out new strategies rather than open-coding string-handling routines. But I don't see a correlation between framework popularity ebbing and flowing, and the care and investment put into them during their development.

I don't think 'literally everything gets thrown away every week' is even accurate, if you actually look at the shelf life of frameworks like Rails (est. 2005), Django (also 2005), jQuery (2006), Dojo (2004), etc. The editor that arguably did the most to displace Emacs - Sublime Text - dates back to 2008.

Maybe that kind of careless 'these fools don't even know what they want' stereotyping doesn't mean that Emacs developers 'care more' about their tools, but are instead endangering the project, because its continued relevance and practical usefulness to developers is less important than projecting feelings of superiority over the internet.

Making Emacs popular again

Posted May 7, 2020 19:01 UTC (Thu) by beagnach (guest, #32987) [Link] (1 responses)

> how many JavaScript frameworks are there?
> how long do they remain popular?

I see this kind of snarky comment from people who regard themselves as "real" programmers but who haven't actually bothered to try work with a real JS project of any size.

The problem JS frameworks are addressing is a very hard one - much harder than something like Django or Symphony has to solve. Progress has been, and continues to be, incremental, but rapid. Each new generation has learned from the previous and brought very real improvements in usability and expressiveness.

Having worked with both AngularJS (2010) and Vuejs 2 (2016) recently I can testify that there is a world of difference in the experience.

If you haven't attempted to work with front-end web application at scale it's easy to vastly underestimate the difficulty of creating a well-structured system with good separation of concerns, reusable components and so forth.
So let's have less condescending commentary please.

Making Emacs popular again

Posted May 12, 2020 18:32 UTC (Tue) by sjatkins (guest, #138806) [Link]

I don't think it was altogether snark and I have done fairly extensive modern FE work in both angular and react frameworks and bits of straight jquery based stuff before that. I found the FE javascript world to be a highly fragmented mess for quite some time. I do feel it is getting better slowly. But the npm world of fragmented code bodies originally to limit download sizes and versioning hell is not for the faint-hearted. Even today most projects I have seen choose their base versions once and craft largely by hand what that they need is compatible with it and lock it down. Updating can take a month off the schedule easy to rebalance all the versions of everything used or needed compatibly. That is not a good situation. I have been tempted more than once to create a small AI that given a set of absolute required modules would find the most balanced set of of other modules transitively required automagically. It is not a small task as many modules lock down the version of things they require to strongly, much more strongly than the code requires.

Making Emacs popular again

Posted May 8, 2020 14:58 UTC (Fri) by thoughtpolice (subscriber, #87455) [Link]

It's always so funny when people are like "It's sour grapes", and someone instantly, immediately comes along and proves them correct. Don't worry though: I'm sure if you write 10,000 more posts cry-raging about "muh javascript frameworks", you'll definitely convince the tens of thousands of users who use other editors that they're wrong. Keep going!

Making Emacs popular again

Posted Jul 14, 2020 22:25 UTC (Tue) by ceplm (subscriber, #41334) [Link] (1 responses)

> … less likely to be interested in spending the time to learn their tools, which vim and emacs both require.

And yet, vim is still the most popular editor for programmers, isn’t it?

Vim's popularity

Posted Nov 7, 2021 11:07 UTC (Sun) by CRConrad (guest, #11471) [Link]

> And yet, vim is still the most popular editor for programmers, isn’t it?

I think that strongly depends upon whether you define "most popular" as "most beloved" or "most used".

My guess Vim is "the most popular editor for programmers" in the latter sense, because vim is installed as default on pretty much every single Linux system where developers have to occasionally edit git messages, config files, or shell scripts; but that doesn't necessarily imply the former.

Making Emacs popular again

Posted May 6, 2020 23:56 UTC (Wed) by ms-tg (subscriber, #89231) [Link] (14 responses)

Following the trail of the 17 year old GTK+ bug to their new Gitlab-based tracker led me to an assertion made just 8 months ago that this is “ridiculous”, there is no evidence of a bug, but a vestigial call to abort() within emacs for historical reasons:
https://gitlab.gnome.org/GNOME/gtk/issues/221#note_577021

Can anyone clarify if this is accurate?

Making Emacs popular again

Posted May 7, 2020 1:45 UTC (Thu) by mohg (guest, #114025) [Link] (11 responses)

I don't think that's quite the situation.

I think that, although this abort was originally added to Emacs because of a GTK+ issue, in recent years other issues have been triggering the same abort. For example, the comments about Emacs aborting when certain unicode characters are inserted relate to a different problem. I can sympathize with GTK developers getting frustrated when people add unrelated Emacs crashes to their bug reports.

I can also sympathize with them wanting a minimal test case. Looks like someone provided one at
https://gitlab.gnome.org/GNOME/gtk/-/issues/2315
to which the response was "Surviving a display connection going away is basically uninteresting for anything but emacs, so the chances of this getting fixed and keeping working are somewhat low.". Fair enough.

I'm not sure it's helpful for Emacs to print another project's bug URL in its abort message. Perhaps the comment should be removed, especially since other things can trigger it.

Making Emacs popular again

Posted May 7, 2020 2:12 UTC (Thu) by pabs (subscriber, #43278) [Link] (10 responses)

Surviving a display connection going away is exceptionally interesting since GNOME shell crashes so often, it would be awesome to be able to keep apps running in the background and have them reconnect when the session returns. Even if GNOME shell or your favourite window manager is not crashy, it is useful to be able to restart GNOME shell after upgrades without having to restart apps.

Making Emacs popular again

Posted May 7, 2020 7:54 UTC (Thu) by mina86 (guest, #68442) [Link] (9 responses)

Window manager crashing does not affect if other applications loose connection to the server. Or am I missing something?

Making Emacs popular again

Posted May 7, 2020 8:21 UTC (Thu) by LtWorf (subscriber, #124958) [Link] (8 responses)

Wayland… on wayland Gnome isn't only the wm, it's replacing Xorg too. When it crashes it kills the entire session.

I've had that happen to me on Fedora by downloading a .iso in /tmp. Fedora mounts /tmp on tmpfs, so the RAM got filled, so the OOMKiller triggered and killed gnome and everything I had open along with it.

Making Emacs popular again

Posted May 7, 2020 12:40 UTC (Thu) by ebassi (subscriber, #54855) [Link] (7 responses)

When it crashes it kills the entire session.

Just like when the X server crashes, as the compositor in Wayland is also the display server.

Ideally, we GTK developers would like to allow clients to survive a display connection closure—and Wayland makes it easier than X11, given that all objects are client side and do not asynchronously disappear when the display connection is closed. Sadly, it's still not entirely trivial to achieve; there are more pressing things to do than addressing niche use cases; and this still does not address the issue of Emacs closing display connections at random and expecting things to survive.

Making Emacs popular again

Posted May 7, 2020 12:49 UTC (Thu) by pabs (subscriber, #43278) [Link]

There is an implementation of a crash resilient Wayland compositor available since 2017, in Arcan:

https://arcan-fe.com/2017/12/24/crash-resilient-wayland-c...

Making Emacs popular again

Posted May 7, 2020 13:20 UTC (Thu) by Baughn (subscriber, #124425) [Link] (5 responses)

Compositor crashes are not niche. They happen to me about twice per day, necessitating heavy scripting to get my workspace back in order after each one.

Making Emacs popular again

Posted May 7, 2020 14:30 UTC (Thu) by ebassi (subscriber, #54855) [Link] (4 responses)

Compositor crashes are not niche

Compositor crashes are bugs, not a feature. Bugs ought to be fixed, and compositors should not crash, considering that they are privileged components.

Additionally, terminating the connection should not crash a toolkit, but you should not expect that your application wait for a display reconnection and restart as if nothing happened either. The only safe thing to do is to save local state and terminate.

Making Emacs popular again

Posted May 8, 2020 2:15 UTC (Fri) by pabs (subscriber, #43278) [Link] (3 responses)

My experience is that this class of bug (compositor crashes) has always been present and this isn't ever going to change. So users are always going to experience data loss, having to restart their session and other annoyances that come from this. In the face of that, the right thing to do is implement crash resiliency in both the compositors and the applications, defence in depth and all that. The people concerned about security bugs learned the defence in depth lesson the hard way and it is about time people learned similar things about crash bugs and other bugs too.

Making Emacs popular again

Posted May 8, 2020 22:48 UTC (Fri) by roc (subscriber, #30627) [Link] (2 responses)

You could say exactly the same thing about kernel crashes and power outages.

Therefore your software should not lose data during those events either, and if that's true then a compositor crash likewise doesn't matter.

Making Emacs popular again

Posted May 10, 2020 8:14 UTC (Sun) by LtWorf (subscriber, #124958) [Link] (1 responses)

While probably no software is 100% crash free, some software crashes way more often than other software, and that is a very important consideration to make.

Making Emacs popular again

Posted May 13, 2020 8:53 UTC (Wed) by roc (subscriber, #30627) [Link]

I suppose that's true, but for me the GNOME compositor never crashes and I do occasionally have to reboot for kernel hangs, so I want the applications I use to tolerate the latter.

Making Emacs popular again

Posted May 7, 2020 8:43 UTC (Thu) by vejeta (subscriber, #138096) [Link]

Maybe it is worth sharing in the emacs-devel mailing-list.

I searched the list, and found a mention here:
https://lwn.net/ml/emacs-devel/82460db0-1ecf-cf11-7dbf-d7...

It seems there is a warning that mentions it when compiling emacs, however I don't see a reference to it where this discussion took place.

Making Emacs popular again

Posted May 7, 2020 12:52 UTC (Thu) by ebassi (subscriber, #54855) [Link]

Can anyone clarify if this is accurate?

As the person who wrote the comment you're linking: yes, this is still accurate to the best of my knowledge.

Emacs is specifically calling abort(), and nobody from the Emacs camp has come up with a patch, or at least a description of the required Emacs behaviour that is supposedly not supported by GTK.

Making Emacs popular again

Posted May 6, 2020 23:59 UTC (Wed) by noahm (subscriber, #40155) [Link] (3 responses)

A "mega" thread, eh? Make Emacs Great Again?

I'm one of those weirdos who's just about equally happy in emacs and vim. I also spent some time trying to switch to vscode for Go development in the past year. I switched back from VSC to emacs, though, and I'm happier for it. The multi-language support in emacs is better than VSC, so although it doesn't have quite as many UI features, it is more consistent across languages. I suspect that this is simply a matter of maturity, though, and I think VSC will catch up very soon, if it hasn't already.

My concern with efforts like this is that they'll add a lot of complexity, change a lot of things that annoy (even just a little bit) existing users, and still fail to attract new people. It's hard to overcome perceptions, and Emacs has developed a reputation as being weird and old, and it doesn't have any attractive enough features to overcome that for a lot of new users.

I think these days a lot of "new" users aren't even expecting to use a native application for general text editing. The browser has become the default interface to general purpose computing, much the way emacs was the default interface for a lot of people 30 years ago. So even if emacs does attract a larger share of the subset of people who want to edit text in an application running on their computer, even that group is shrinking.

Making Emacs popular again

Posted May 7, 2020 1:03 UTC (Thu) by nkiesel (guest, #11748) [Link]

I’m a longtime Emacs user as well (started in the mid 80’s) and I still use it on a daily basis. Some parts (e.g. magit) I really cannot live without. However, I in my paid work mostly use Java and Kotlin these days, and for that IntellJ (free but not open source) simply cannot be beaten.

I used to recommend Emacs to every junior developer, but lately shifted saying “I personally use Emacs for everything but Java/Kotlin and its great, but you might instead consider using VSCode these days because most language support is much better”.

Making Emacs popular again

Posted May 8, 2020 0:32 UTC (Fri) by smitty_one_each (subscriber, #28989) [Link]

> I'm one of those weirdos who's just about equally happy in emacs and vim.

I'm one who physically cannot take the left-hand abuse of emacs key chords. Just rips my left arm off. On the other hand, https://www.spacemacs.org/ is just awesome, locally or in the cloud over SSH.

Taking the time to convert to modal editing via https://vimvalley.com/ was worth the cost. When you can log in and get the work done with bare vi, you have instant cred on the job.

Magit and org-mode seal the deal, whereas all this icon talk is of no real importance to me, sorry.

Making Emacs popular again

Posted May 12, 2020 4:21 UTC (Tue) by filbranden (guest, #87848) [Link]

> A "mega" thread, eh? Make Emacs Great Again?

Haha, my thoughts exactly. And I'm happy to see how you also caught the "subtle" reference in the adjective on the thread.

That, together with one of the main characters in the story last having made the news under the #MeToo hashtag, and the introduction of that character being followed by a discussion on license pedantry made for an article I could almost have expected to find on a tabloid rather than LWN :-)

Surely a fun read though... And the comments too!

Making Emacs popular again

Posted May 7, 2020 1:03 UTC (Thu) by josh (subscriber, #17465) [Link] (3 responses)

> there is also the philosophical question of what it is, exactly, that stops the venerable text editor from being more popular

> Richard Stallman, one of the original authors of Emacs, seemed somewhat dismissive

One wonders just what could possibly be holding the editor back.

I used to follow the Emacs development list, back when I used Emacs as my primary editor. (I still use Emacs for TeX, using AuCTeX, but for everything else I now use vim. One of these days I need to learn vim-latexsuite.)

Any attempt to do anything outside the norm, especially improvements focused on new users, usability, or more integration of powerful features, was met with derision, contempt, and elitism that has no place in any modern project, most of it from the same few people.

(To clarify something: I'm not talking about changes that would break things for experienced Emacs users. I'm talking about changes that would leave experienced Emacs users unaffected, and improve usability for new users.)

That's leaving aside the copyright assignment problem; I've seen perfectly reasonable GPL-licensed code, code that many developers wanted to include, rejected out of hand because the FSF didn't own the copyright. I've even seen demands to refuse to *mention* such code, lest people be able to find it. (One excellent example: Magit, a popular interface to git.)

Emacs is an incredible tool, and its extensibility and programmability are incredible. In my opinion, the biggest thing holding it back is a small handful of unwelcoming elitist developers in its community, and the second biggest thing is the FSF's copyright assignment policy.

Making Emacs popular again

Posted May 7, 2020 1:52 UTC (Thu) by mohg (guest, #114025) [Link] (2 responses)

> I've seen perfectly reasonable GPL-licensed code, code that many developers wanted to include, rejected out of hand because the FSF didn't own the copyright.

I don't think the copyright assignment issue is something that needs to be reported anecdotally. It is the stated policy for GNU Emacs. There is some rationale for it at

https://www.gnu.org/licenses/why-assign.en.html

which of course not everyone agrees with. Many GNU projects don't have this requirement. I suspect many Emacs developers would be happy without this policy, but don't feel strongly enough to make a serious challenge to the status quo (or fork).

> I've even seen demands to refuse to *mention* such code

I've only ever seen Richard Stallman say this. I find it a strange position for him to take, and have never seen anyone agree with it.

I'm not sure these are the issues "holding Emacs back" (if anything is). XEmacs had no copyright assignment requirement, and it died.

Making Emacs popular again

Posted May 7, 2020 2:36 UTC (Thu) by cmonsanto (subscriber, #96651) [Link]

> I'm not sure these are the issues "holding Emacs back" (if anything is).

The copyright assignment policy contributes to the pointless ELPA vs MELPA schism. For those unfamiliar with Emacs, MELPA is where the majority of Emacs packages live. It should be usable by default.

You couldn't pay companies to incorporate Emacs' source in their non-free products. Nobody cares. This is a complete own goal.

Making Emacs popular again

Posted May 8, 2020 3:11 UTC (Fri) by val314159 (guest, #138703) [Link]

Wasn't XEmacs branched b/c RMS thought X was stupid (in so many words)?
And once the firefights were over, RMS actually merged the changes back b/c so many users wanted them.
In fact, GNU emacs was a branch as well.

Seems history is on the side of the users if someone supports them.

as a case in point in modernity, ELisp used dynamic bindings until very recently and I have never seen another lisp system that does that since the 1980s.

another side note, explaining why "frames" are "windows" and "buffers" and "files" makes EVERYONE'S eyes glaze over.

Making Emacs popular again

Posted May 7, 2020 2:05 UTC (Thu) by ttuttle (subscriber, #51118) [Link] (5 responses)

Perhaps Emacs needs to do what Mozilla did with Firefox -- make a fork that's leaner and can change more quickly to meet newer users' needs.

Making Emacs popular again

Posted May 7, 2020 2:30 UTC (Thu) by josh (subscriber, #17465) [Link]

NeoVim certainly helped renew interest in development of Vim, both in the NeoVim fork and in the original.

Making Emacs popular again

Posted May 7, 2020 23:28 UTC (Thu) by flussence (guest, #85566) [Link] (2 responses)

I think, realistically, the only way the Emacs community can move forward is to make like XOrg did to XFree86.

The resulting project will obviously have to be named something else to avoid RMS's signature tantrums, but that's a baggage a lot of people would probably be glad to be rid of.

Making Emacs popular again

Posted May 8, 2020 16:20 UTC (Fri) by remmy (subscriber, #4400) [Link] (1 responses)

Maybe Gnemacs?

Making Emacs popular again

Posted May 12, 2020 4:15 UTC (Tue) by filbranden (guest, #87848) [Link]

> Maybe Gnemacs?

Neomacs!

Making Emacs popular again

Posted May 8, 2020 16:09 UTC (Fri) by Nelson (subscriber, #21712) [Link]

I agree with this. Every time big elisp changes are brought up, the discussion makes me think that it will never happen as the benchmark is just impossibly high. The guile guys made a very compelling case last time around too. A fork with guile as the base, LSP as a first class citizen, some of the visual components from spacemacs and maybe an effort to clean up some of the cruftier parts of the base (we really don't need vax support anymore. stuff like that) would be interesting. I'd use it as a daily driver.

There was some very interesting progress on remacs for a while there. I know you can't just add these efforts together but there is clearly some energy to take emacs in to new directions.

To the original point, I think if there were some forks and some of the passions were followed with some of these other things it seems possible that some new things would be builtin on an 'emacs' that could breath new life in to emacs.

Making Emacs popular again

Posted May 7, 2020 2:35 UTC (Thu) by pabs (subscriber, #43278) [Link] (6 responses)

Meanwhile, GitHub has replaced Emacs and all other locally installed editors with a cloud based IDE:

https://thenextweb.com/dd/2020/05/06/github-codespace-let...

It seems pointless to try to make Emacs popular in a world where proprietary software running in web browsers has replaced locally installed software. Even if Emacs were ported to WebAssembly or asm.js, who is going to run it in their browser instead of the default GitHub IDE and how are they going to convince GitHub host Emacs on their servers?

Making Emacs popular again

Posted May 7, 2020 4:56 UTC (Thu) by thumperward (guest, #34368) [Link] (4 responses)

There are Web-based clients for everything these days. It still hasn't killed off desktop software entirely. One reason is, of course, extensibility. Back when Emacs was remotely relevant, that was one of its big draws, of course.

It's absolutely natural that the most popular IDE is essentially a reimagination of Emacs for the 21st century. It's ironic of course that it's a Microsoft product, but it demonstrates that Microsoft are far bolder and more willing to experiment (by creating, and giving away, a free competitor to their own IDE, which was a former market leader) than the infamously hidebound Emacs development community.

The comments here are little better than in the mailing list thread, and for the same reason. I'm pushing 40 (and yet I'm a "millenial" as much as the term ever had a specific meaning) and I've been happily using Atom (another Electron-based, Javascript-extensible free software IDE) for years. VSCode appears to have all the momentum, so I'm preparing to switch to it. That's going to require a bit of retraining, but nothing that goes beyond the inevitable requirement to continually learn and re-learn technology that comes with working in this industry. And I am _well_ below the median age for an LWN commenter, let alone an Emacs user. It's gotten to the point where the proud greybeards are literally all reaching retirement age, and most of them have stubbornly resisted making any alterations to their lifestyle or world view since the dotcom boom. Hell, the infamous Lucid Emacs schism was nearly thirty years ago now, and on the Emacs side it's still _exactly the same people_ acting in exactly the same manner. There will only be another couple of rounds of this masturbation disguised as retrospection before there is nobody left in this group to carry the fight forward.

As a final footnote, it's remarkable that seemingly nobody has pointed out that it is far easier to add Emacs-like features to a modern editor than it is to drag Emacs out of the 70s. This is practically the first thing that gets written for any new editor. And yet the other camp has been bloviating for decades about the philosophical utility of having working scrollbars.

Making Emacs popular again

Posted May 7, 2020 9:51 UTC (Thu) by burki99 (subscriber, #17149) [Link]

When I read your part about the "the proud greybeards" I was reminded of the so called Planck's principle: A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it.

IT shows similar patterns: COBOL, Fortran and Emacs don't get replaced once something better appears, but when an older generation retires and the infrastructure and tools they built up get (very slowly) replaced with the stuff the next generation grew up with. Usually, the time to learn and the mental change needed to move from what we got comfortable with to something different is just too high unless a new project or position forces us to into such a change. This resistance to change is also one of the main reasons for the never ending language wars and debates about init systems.

Making Emacs popular again

Posted May 7, 2020 11:35 UTC (Thu) by pizza (subscriber, #46) [Link] (2 responses)

> It's absolutely natural that the most popular IDE is essentially a reimagination of Emacs for the 21st century. It's ironic of course that it's a Microsoft product, but it demonstrates that Microsoft are far bolder and more willing to experiment (by creating, and giving away, a free competitor to their own IDE, which was a former market leader) than the infamously hidebound Emacs development community.

You entirely missed one crucial difference:

Microsoft has a legion of programmers they can (and do) order to work on things, and the budget to make that happen, as well as an enormous captive developer audience due to platform lock-in. Not to mention a couple of decades of questionably-legal shenanigans.

Emacs has never had any of that.

Making Emacs popular again

Posted May 7, 2020 12:30 UTC (Thu) by burki99 (subscriber, #17149) [Link] (1 responses)

I'm not convinced by your argument. Your observation

Microsoft has a legion of programmers they can (and do) order to work on things, and the budget to make that happen, as well as an enormous captive developer audience due to platform lock-in. Not to mention a couple of decades of questionably-legal shenanigans.

while completely true could be stated exactly the same for the comparison for Linux and Windows. But there the outcome is rather different than what we observe in Emacs vs. VSC. So you can't only focus on Microsoft, you also have to take a look at the development community of Emacs.

Making Emacs popular again

Posted May 7, 2020 13:06 UTC (Thu) by pizza (subscriber, #46) [Link]

> while completely true could be stated exactly the same for the comparison for Linux and Windows.

So, how has "Linux" used its desktop-monopoly-funded profits to enter new markets with loss-leaders, many times over?

Microsoft has probably spent more money on payroll for VS Code in the past year alone than emacs has seen in the form of paid contributions over its entire lifespan, and the pocket change of VS Code's marketing budget likely exceeds the FSF's annual operating costs.

> So you can't only focus on Microsoft, you also have to take a look at the development community of Emacs.

Of course! But let's not pretend that the structure of a well-funded top-down commercial project's community (or the goals that foster that community) will be similar to the community that comes out of a volunteer-driven charity.

Making Emacs popular again

Posted May 7, 2020 14:33 UTC (Thu) by pizza (subscriber, #46) [Link]

In other words, you can't compete with services by writing software.

(What's the quip? Freedom of the press only applies to those who own presses?)

Making Emacs popular again

Posted May 7, 2020 2:44 UTC (Thu) by samroberts (subscriber, #46749) [Link] (5 responses)

Maybe this is just my experience, but one of the things I noticed with Emacs is that it was a full replacement for a unix environment. It had its own shell, mail client, etc. The old joke was people would talk about logging on to Emacs instead of logging on the main systems. Much of the irritating differences between shells, unix versions, system utilities, etc, were papered over by using Emacs. The last person I knew personally who was learning Emacs and loving it was doing a lot of work on Windows, so once again, wanted isolation from a crappy (or at least, not-unix) environment.

I think the improved quality of operating systems, Linux getting better and more common, mac coming out on top of a unixish userland environment, the withering away of AIX and HPUX and etc., might have hastened the loss of popularity of Emacs.

vi(m) on the other hand, is mostly used just as a text editor, so as better mail clients, shells, news readers (is usenet still a thing?), etc, etc, appear, it doesn't diminish in value as much. If you are already happy at the shell, its not much of a leap to using it for just editing code, and if you are sshed into a remove Linux system or docker image, you almost certainly have vim, not so certainly have emacs, so some basic familiarity with it necessary.

Making Emacs popular again

Posted May 7, 2020 8:01 UTC (Thu) by hthoma (subscriber, #4743) [Link]

Yes. Old joke about Emacs: Nice OS, but crappy Editor. ;-)

Making Emacs popular again

Posted May 7, 2020 10:28 UTC (Thu) by amacater (subscriber, #790) [Link] (3 responses)

There's an element of "It's everywhere" that vi (not necessarily vim) has: vi compatible editors and keystrokes on networking and telecoms equipment etc. etc. If you're going to be in that environment, it's worth knowing vi keystrokes because that's what you'll get.

Text editing- maybe everything does markdown now?

IDEs are the curse/blessing of the age. They're a curse because they encourage lazy learning or will point out all the errors in your copy pasted code for you: they're a blessing because they are quick to use if you have access to the extensions. VSC is nice, if you like that sort of thing, because it has a terminal and SSH readily available from two extensions.

If you're really stuck using a Windows OS, then WSL allows you to drop a real Linux in and just work in Linux.

Emacs - works for that community of folk who want an extensible tool on their own machine, are happy to debug and write their own code in LISP. That's a larger community than the Linux distro Emacs packagers but maybe not by an order of magnitude. If distros can't package Emacs, it will die out in all likelihood.

Making Emacs popular again

Posted May 7, 2020 14:09 UTC (Thu) by NAR (subscriber, #1313) [Link] (2 responses)

If you're going to be in that environment, it's worth knowing vi keystrokes because that's what you'll get.

I once saw a router which didn't even have vi, only ed... The actual recommended method to change configuration was to download the configuration via FTP, edit locally, then upload via FTP.

Making Emacs popular again

Posted May 10, 2020 13:39 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

That's basically what I do for Windows and macOS development except that `git diff > foo.patch && scp foo.patch` is the normal transport medium. Sure, there's Vim, but that's mostly just good enough to make the change; integrating it into the rest of the workflow ends up back on one of my main machines.

Making Emacs popular again

Posted Jul 8, 2020 8:03 UTC (Wed) by debacle (subscriber, #7114) [Link]

If the device supports FTP, you can just using Emacs with TRAMP, I assume?

Making Emacs popular again

Posted May 7, 2020 5:51 UTC (Thu) by madhatter (subscriber, #4665) [Link] (2 responses)

> he would also like to see Emacs return to popularity as an editor of text for publication

That reminds me of what Neal Stephenson, himself no slouch in the text production department, said of Emacs:

> If you are a professional writer - i.e., if someone else is getting paid to worry about how your words are formatted and printed - emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.

Making Emacs popular again

Posted May 7, 2020 10:32 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

Quite a few writers use Scrivener: https://www.literatureandlatte.com/scrivener/overview - it's basically an IDE for writing novels.

Making Emacs popular again

Posted May 7, 2020 11:31 UTC (Thu) by Baughn (subscriber, #124425) [Link]

I'm one of them. I used emacs at first, but Scrivener is dramatically better if your goal is to finish a novel rather than code the build system for a book.

"there is a high barrier to learning Org mode from its documentation"

Posted May 7, 2020 6:55 UTC (Thu) by rakoenig (subscriber, #29855) [Link] (1 responses)

Agreed. Org mode documentation is more a reference material where you can lookup the details, but its not a guide to learn.

Around 4 years ago I was trying to show members of the "Getting Things Done" group in LinkedIn how I manage my life inside a text editor. So I recorded a video. Looked at the video, thought it was lousy and I can do better.

Some months later a long playlist was done with a step-by-step tutorial to approach Org mode. My YouTube channel grew from a few family subscribers to more than 3000 subscribers wordlwide.

In my daily work I'm using lots of text editors, Vim, Emacs or whatever I need. Programming is done in an IDE, wether its Eclipse, IntelliJ or even VSC. But one Emacs window with my daily plan is always open and helps me to focus on the small goals that I want to achieve today.

"there is a high barrier to learning Org mode from its documentation"

Posted May 7, 2020 14:14 UTC (Thu) by azz (subscriber, #371) [Link]

I'm in much the same situation. For actually editing text, I always use Vim. But I've also always got a couple of GNU Emacs sessions open - one for my diary in org-mode, and one for reading mail and news in Gnus...

Making Emacs popular again

Posted May 7, 2020 7:28 UTC (Thu) by NAR (subscriber, #1313) [Link] (7 responses)

the terminology used in the Emacs world does not match with what users expect

This is what turned me off from Emacs 20+ years ago. The documentation kept mentioning a "Meta" key that I didn't have on my keyboard. So I use vim, but for Java code I use Eclipse, Android Studio for Android development, Google Documents for human readable documentation, ...

Making Emacs popular again

Posted May 7, 2020 7:56 UTC (Thu) by epa (subscriber, #39769) [Link] (6 responses)

My favourite is that Emacs does not beep or make a sound, it "rings the terminal bell". There's a kind of snobbery in these shibboleths. Say mail instead of email; say riding instead of horse riding. It's a harmless game in many cases, but when it makes the documentation confusing for newcomers it should stop.

Making Emacs popular again

Posted May 7, 2020 11:17 UTC (Thu) by vadim (subscriber, #35271) [Link] (5 responses)

It's technically correct. Things like Emacs don't make a sound. They emit an escape sequence (^G) that's handled by the terminal (or terminal emulator), which in response usually makes a sound. Which sound would be implementation dependent. It could use the PC speaker, or play something on the sound card. Or it could do something else (making the screen flash is an option)

An actual terminal might have a bell inside it: https://en.wikipedia.org/wiki/VT100

This is different from how say, a DOS text editor would actually drive the PC speaker, and so be in full control of exactly what happened and what sound it would make.

Making Emacs popular again

Posted May 7, 2020 19:35 UTC (Thu) by zdzichu (subscriber, #17118) [Link] (3 responses)

Oh the irony. It may be technically correct, but it is exactly what last sentence of parent comment was about.

Making Emacs popular again

Posted May 8, 2020 17:43 UTC (Fri) by epa (subscriber, #39769) [Link] (2 responses)

How is it technically correct to say that Emacs "rings the bell"? It does not in any literal sense.

We do accept this kind of antique language; most understand that when a program like Emacs "prints" something it's not going to put ink on paper. But it can be carried too far. "Ringing the bell" just raises a chuckle, but calling the Alt key "Meta" (however sound the historical reasons) gets in the way of good documentation.

Making Emacs popular again

Posted May 11, 2020 8:34 UTC (Mon) by NAR (subscriber, #1313) [Link] (1 responses)

I have to say it took me a couple of days to realize what "rings the bell" (literally) means - I'm so indoctrinated with the tech-speak, I didn't think it could be anything else than the terminal beep :-)

Making Emacs popular again

Posted May 12, 2020 9:50 UTC (Tue) by epa (subscriber, #39769) [Link]

M-x quasi-mode

Beeping vs ringing the terminal bell

Posted May 8, 2020 3:01 UTC (Fri) by giraffedata (guest, #1954) [Link]

vt100 didn't have a bell. It had a speaker.

I have used printing terminals, though, which had bells. ISTR TeleType 43, contemporary with VT100, did.

Making Emacs popular again

Posted May 7, 2020 10:20 UTC (Thu) by ibukanov (subscriber, #3942) [Link] (5 responses)

25 years ago I studied physics in Bergen University in Norway. Most stuff and students were using Emacs for writing papers and thesis in LaTex and for various MatLab scripts and code. Emacs definitely lost that segment when desktops and notebooks with Windows replaced Unix workstations.

But I am rather unsure that it was due to Emacs not following platform conventions. Various IDE from Borland for DOS were much better than Microsoft offerings and popular. Then Borland released IDE for Windows that did followed platform conventions and that was still better than MS. But it still lost to MS.

Making Emacs popular again

Posted May 7, 2020 12:29 UTC (Thu) by jmclnx (guest, #72456) [Link] (4 responses)

I learned vi first and eventually moved through many versions to vim. The following is for my own personal workflow and buth vi[m]/emacs are great tools.

I have been using emacs a lot more over the last few years and this is what keeps me coming back. Remote editing using ssh is awesome. Editing encrypted text files via emacs so easy I use emacs for a password manager (via ccrypt). And source control (rcs/cvs), to me works better then what I have in vim (my own tool). I assume the same for git and will give that a try soon.

But the things that keep me from using emacs 100% are: Tag files, I tried many 'emacs plugins' for that and no matter what I try, i cannot get tags work exactly like vi, I am close though. Another 'killer' vi[m] function is how easy it is to pipe selected text into an external tool, which I use quite a bit. To be fair, I have not looked to see how to do that in emacs since vi[m] method is so easy.

Anyway will be interesting in seeing what happens in the near future with emacs.

Making Emacs popular again

Posted May 7, 2020 13:46 UTC (Thu) by mbunkus (subscriber, #87248) [Link] (2 responses)

> Another 'killer' vi[m] function is how easy it is to pipe selected text into an external tool, which I use quite a bit. To be fair, I have not looked to see how to do that in emacs since vi[m] method is so easy.

Select text, M-x shell-command-on-region (which is fittingly bound to M-| by default).

Making Emacs popular again

Posted May 7, 2020 22:17 UTC (Thu) by jmclnx (guest, #72456) [Link] (1 responses)

Thanks, gave it a try and it kind of worked, but it put the results in a new buffer. But found info on slack exchange that had a list function that would work exactly as vi calling the command you gave me.

Making Emacs popular again

Posted May 7, 2020 22:42 UTC (Thu) by asjo (guest, #56570) [Link]

> but it put the results in a new buffer

If you want the selected text to be replaced, press C-u M-| instead of just M-| before entering the command.

Making Emacs popular again

Posted May 8, 2020 13:50 UTC (Fri) by ibukanov (subscriber, #3942) [Link]

For remote editing I use lsyncd. It works with any editor and allows to edit files when offline. Surely it requires some setup on the client, but as long as the server has ssh and rsync, it works.

Making Emacs popular again

Posted May 7, 2020 12:53 UTC (Thu) by Conan_Kudo (subscriber, #103240) [Link] (1 responses)

But Stallman was quick to put the kibosh on that; Qt is only available for GPL 2 and 3, using it would mean that if there is a GPL 4 someday, Emacs could not switch to it. "So we must avoid using Qt."

Most of the Qt libraries are under the Lesser GPL, and KDE, e.V. can negotiate for newer versions if they ever showed up. In practice, I don't think it's as much of a problem. There's no version 4 of the GNU licenses in sight. But if it was a significant issue, perhaps this could be adjusted to the general variant of LGPL which allows upgrades.

Making Emacs popular again

Posted May 12, 2020 4:44 UTC (Tue) by filbranden (guest, #87848) [Link]

> Qt is only available for GPL 2 and 3, using it would mean that if there is a GPL 4 someday, Emacs could not switch to it.

This doesn't make any sense whatsoever.

If that was the case, then you wouldn't be able to port Emacs to FreeBSD and run on a libc licensed under BSD.

Or maybe run on top of a Linux kernel which is licensed under GPL 2 exclusively. (Ok maybe I'm stretching, but is that really too much?)

Lucid toolkit is LGPL 2.1 or MPL 1.1, not "or later", should those bindings in Emacs be removed then?

I can only take it that this argument against Qt due to licensing was:

* Made by people who don't really know how licenses work, possibly not having a clear understanding of open source, perhaps because they haven't been in close contact with open source and are not keen on it; or was

* Made with malicious intentions, political in nature, perhaps trying to imply that if the Qt project was desperate and naive enough to hand these people a blank cheque in form of allowing them to relicense their code however they wished, they would be given the blessing to allow their toolkit to run the one true and pure editor, which is used by, checks notes, 3% of developers.

Sometimes I really do understand people who dismiss the GPL, especially when seeing this kind of zealotry, particularly by people who *should know better.*

Making Emacs popular again

Posted May 7, 2020 13:41 UTC (Thu) by dskoll (subscriber, #1630) [Link] (2 responses)

I don't think tweaking GUI elements or changing terminology will make much difference. Emacs appeals to a certain mindset; I think there will always be enough users to keep it a viable project, but never enough to make it a mass-market contender.

I love Emacs and use it every day. I also use a lot of software that's much less popular than Emacs (such as my own Remind calendar tool.) Popularity, IMO, should be a secondary goal for software projects; once there's a critical mass of users and developers to keep the project viable, the main goal should be high quality.

Making Emacs popular again

Posted May 8, 2020 3:12 UTC (Fri) by giraffedata (guest, #1954) [Link] (1 responses)

The concern about popularity for Emacs is that critical mass.

I am going to use Emacs until the bitter end, but it gets harder every year because there just aren't enough user/developers. I'm kind of on my own to figure out how to fix or add things in elisp.

Really popular open source tools just don't have quirks and missing pieces because there will always be someone capable of fixing them getting irritated enough to do it.

Making Emacs popular again

Posted May 8, 2020 20:10 UTC (Fri) by dskoll (subscriber, #1630) [Link]

Yes, you do need a critical mass. I think emacs still has that critical mass.

Also, really popular open-source projects can have plenty of quirks and missing pieces, depending on the governance of the project. Both Gnome and KDE are extremely popular, and yet from my viewpoint, they are unusable because of quirks... the direction of those projects just doesn't suit the way I work. I guess the quirks are in the eye of the beholder in this case.

Making Emacs popular again

Posted May 7, 2020 16:31 UTC (Thu) by hifi (guest, #109741) [Link] (3 responses)

I'm a long time vim user but I use Visual Studio Code and some IDEs from time to time.
The *requirement* to use any other editor for me is that it has decent vim emulation - VSC checks that box very well.

I'd rather take a modern IDE that has good language support built in with decent vim emulation over spending hours on trying to get some weird hack working in vim that desperately tries to make it feel more like an IDE. That said I should try that again.

I don't think vim or emacs have much to offer these days for programmers who just want things to work and they can do very little about it.

The problem for me with VSC is that it's not properly packaged as free software with free software plugins from distro repos. VSCodium only fixes one part of the equation. The convenience of VSC is currently more valuable than the missing free-software-only-from-distro-repos bit.

Making Emacs popular again

Posted May 8, 2020 12:54 UTC (Fri) by jerojasro (guest, #98169) [Link] (2 responses)

> I don't think vim or emacs have much to offer these days for programmers who just want things to work and they can do very little about it.

I had an opinion similar to yours, and was feeling really tired of fiddling with (in my case too) vim to get something a modern IDE gives you out of the box.

But then two things happened:

1. Vim got support for running commands asynchronously, and now things like linters could do their thing without blocking the user interface

2. The concept of Language Servers and the associated Protocol (LSP) took off; that allows ANY editor to implement IDE-like features (code navigation, autocompletion) once, in a language-agnostic fashion, and it will work for any language (that has a decent LSP implementation out there).

Those IDE-like features work well enough in Vim nowadays. And have the same UI/semantics, for any language. There might be differences in functionality, but due only to the maturity of the lang. server you use.

And when you add to those capabilities the wealth of things vim brings to the table by itself... I think it's still a very compelling package.

I do think we need more work in making that "get IDE-like features running for language X in my editor" experience smoother, but nowadays it's not the humongous amount of work it was before, thanks to LSP.

Making Emacs popular again

Posted May 9, 2020 18:26 UTC (Sat) by hifi (guest, #109741) [Link] (1 responses)

For the sake of it I gave it a try.

I used clangd as the LSP as it looks to be quite mature. Still, I had to install multiple "plugins" by cloning git repositories just to get the LSP functionality going - even after that I had trouble understanding how you configure the keybindings properly and even then it didn't work "just like in VSC" that it would automatically show me signatures and suggestions of everything I'm currently typing without needing a manual command every time.

Then I saw that NeoVim has nightly support for LSP built-in which seemed nice. Again, had to install a plugin for it even though it's built-in for some reason (nvim-lsp) and again it worked pretty well when I manually asked it to do something but it didn't really help me on-the-fly like I would prefer.

It just isn't there yet. Requires too much obscure configuration and even then it didn't seem easy to get it to work automatically. It is still much easier to just pick up VCS, install the Vim emulation plugin + language plugin and after that it just pretty much works like I'd expect it to.

I assume if I spent more time on it I would get it to close to my liking but this excercise was to see how good the OOTB experience is.

Making Emacs popular again

Posted May 10, 2020 13:36 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

I think all I needed to do was install the ALE plugin[1]. I still find languages I didn't know it supported on occasion when I open up files in languages I don't normally use…

I mostly use it as a notifier of issues rather than dealing with any keybindings specific to the plugin.

[1]https://github.com/dense-analysis/ale

Making Emacs popular again

Posted May 7, 2020 17:27 UTC (Thu) by NYKevin (subscriber, #129325) [Link] (5 responses)

> But "modernizing" Emacs (however defined) is likely to be a waste of the project's time, since its look is not what's holding it back, Ahmed Khanzada said. For example: "Terminal-based Vim is not like a modern application, yet is more popular than Emacs." The appeal of an editor that can be extended using the Lisp language is somewhat limited, he said. Spending a bunch of time and energy to give it a modern look would not change that and, by the time the work was done, the definition of "modern" will have changed again.

Speaking as a vim user who wouldn't touch Emacs with a ten-foot pole: Honestly, I think it has more to do with system defaults and convenience than anything else. I taught myself vim because the system kept dumping me into vim (and also because the documentation told me it would make me more efficient, but IMHO that was a lie; text manipulation is not the bottleneck of programming). Nowadays, Debian and Ubuntu have switched to nano, so I imagine that in another few years, that will experience a resurgence in popularity.

Making Emacs popular again

Posted May 7, 2020 18:40 UTC (Thu) by mgedmin (subscriber, #34497) [Link] (4 responses)

Back in 1998 I tried hard to like Emacs. Then I tried to learn vim and I'm still using it to this day. (The main reason I gave up on Emacs back then was that it didn't support syntax highlighting on a Linux console. My computer back then didn't have enough RAM to run X11 all the time. I've been told that xemacs supported terminal color, but I didn't know about its existence.)

I respect Emacs a lot -- it seems like a more capable engine, it just has poor usability. Vim, while it feels like a pile of hacks, tends to work well. Compare the keyboard commands to split the editor window vertically or horizontally so you could see two files at once: in vim it's Ctrl-w v or Ctrl-w h, while in Emacs is Ctrl-x 5 2 and Ctrl-x 5 4 or some such nonsense with absolutely zero mnemonic value.

I've heard claims that the default Emacs keybindings are terrible on purpose, to force users to create custom mappings they would personally prefer. I'm not sure I believe that, but it's plausible and exactly the kind of abdication of responsibility towards user experience that hinders Emacs's acceptance.

Making Emacs popular again

Posted May 8, 2020 6:57 UTC (Fri) by idrys (subscriber, #4347) [Link] (3 responses)

> I respect Emacs a lot -- it seems like a more capable engine, it just has poor usability. Vim, while it feels like a pile of hacks, tends to work well.
> Compare the keyboard commands to split the editor window vertically or horizontally so you could see two files at once: in vim it's Ctrl-w v or Ctrl-w h,
> while in Emacs is Ctrl-x 5 2 and Ctrl-x 5 4 or some such nonsense with absolutely zero mnemonic value.

That probably just shows how different people are: I've been using Emacs since the late 90s, and its choice of commands made more sense to me than those in vim (the first editor I used on Linux was joe, maybe that says something as well.) Even with a German keyboard layout.

Maybe Emacs vs vi(m) is like cat people vs dog people :)

> I've heard claims that the default Emacs keybindings are terrible on purpose, to force users to create custom mappings they would personally prefer.
> I'm not sure I believe that, but it's plausible and exactly the kind of abdication of responsibility towards user experience that hinders Emacs's
> acceptance.

Is changing the keybindings really that common? As said above, I'm happy with them (maybe I'm just used to them :); I also used firemacs in Firefox back when it still worked.

Making Emacs popular again

Posted May 8, 2020 9:23 UTC (Fri) by mgedmin (subscriber, #34497) [Link] (2 responses)

> I've been using Emacs since the late 90s, and its choice of commands made more sense to me than those in vim

Can you explain this to me?

I understand and remember things like Ctrl+F/B (forward/back), Meta+f/b (same, but for word motions). I'm baffled by the Ctrl+X 5 2 sequences.

(I can remember Ctrl+X 5 1 for "leave only one window" and Ctrl+X 5 0 for "close the window", because 1 and 0 are mnemonic, although the Ctrl+X 5 part is still weird and unintuitive. In vim this would be Ctrl-W o for "window, only" and Ctrl+W q for "window, quit". Ok, there's also Ctrl+W c for "window, close", which differs from Ctrl+W q in that it won't quit vim if you have only one window open.)

Making Emacs popular again

Posted May 8, 2020 12:27 UTC (Fri) by neilbrown (subscriber, #359) [Link] (1 responses)

> Can you explain this to me?

I think it must be like an in-joke.

It starts out fairly mnemonic:
C-x 0 - close current window
C-x 1 - make this the only window
C-x 2 - split the window (top and bottom of course - terminal only have 80 columns, and 40 is really too narrow to be useful)

but then new features were added incrementally:

C-x 3 - split side-by-side, because megapixel displays makes this useful
C-x 4 - do something in the "other" window - because now that we have more than 2 windows, there are more things we want to do.
C-x 5 - do something in another frame (X11 window) because a real window system makes that meaningful.
C-x 6 - does something with text columns in a buffer ... OK, you have to squint a bit to see the connection now
C-x 7 ... nothing
C-x 8 - insert unicode chars ... squinting isn't sufficient any more

Making Emacs popular again

Posted May 8, 2020 14:52 UTC (Fri) by idrys (subscriber, #4347) [Link]

>> Can you explain this to me?

> I think it must be like an in-joke.

> It starts out fairly mnemonic:
> C-x 0 - close current window
> C-x 1 - make this the only window
> C-x 2 - split the window (top and bottom of course - terminal only have 80 columns, and 40 is really too narrow to be useful)

Keep in mind that I started using it in the 90s.

> but then new features were added incrementally:

> C-x 3 - split side-by-side, because megapixel displays makes this useful
> C-x 4 - do something in the "other" window - because now that we have more than 2 windows, there are more things we want to do.

I rarely (if ever) use more than a horizontal split, as this is most useful to me, and I usually just switch between them ('o' is easy to remember for that.)

> C-x 5 - do something in another frame (X11 window) because a real window system makes that meaningful.

Ok, I always run it -nw (started doing so because I did not always have X available anyway, and stuck with it because I really prefer the look.)

> C-x 6 - does something with text columns in a buffer ... OK, you have to squint a bit to see the connection now
> C-x 7 ... nothing
> C-x 8 - insert unicode chars ... squinting isn't sufficient any more

These are indeed odd, but I've never used them :)

Regarding the vi(m) interface: Maybe I might find it easier now, but I was probably mostly confused by the interface back then.

(And I really like M-x <whatever> telling you if there's a shortcut available.)

Making Emacs popular again

Posted May 7, 2020 17:37 UTC (Thu) by yingw787 (guest, #138082) [Link]

I'm not sure about GPL licensed icons, but Tabler released a set of MIT-licensed icons that I thought were pretty good: https://github.com/tabler/tabler-icons

I'm also looking to use the tabler dashboard and may have a specific UI/UX taste, but having open-source licenses is really important to me for the project I'm working on.

Making Emacs popular again

Posted May 7, 2020 18:57 UTC (Thu) by magnusmorton (guest, #131590) [Link]

Is there any way to estimate absolute numbers of emacs users? I'm going to guess that although "market share" is down, the number of individual users is as high as ever.

Making Emacs popular again

Posted May 7, 2020 22:15 UTC (Thu) by curtis3389 (guest, #127185) [Link] (2 responses)

I love Emacs, but as I see it, it needs to die.

There are probably 2 major problems with it:
1. Heavy use of key combinations
2. Emacs Lisp

I fell in love with Emacs because it's key combinations were based of the command you want to execute instead of where you're hands are on the keyboard like Vim. I just can't memorize the key shortcuts for Vim because I use Dvorak.

That being said, the mouse needs to be equal to keyboard shortcuts to lower the barrier for entry for new users. I know there's a GUI version and the mouse support isn't bad, but it's not equal.

Once you get comfortable with basic editing in Emacs, you quickly run into the issue of learning Emacs Lisp. I've started learning Lisp so that I can have a language with the features I want, but I gave up on Emacs Lisp a long time ago. It's clearly not a very good Lisp, and the beginner manual could be a lot better.

As others in the comments have mentioned, Emacs needs to use JavaScript if it wants today's developers. Everyone already knows it, whether they're a CS major or not. It's similar enough to other languages you know that even if you don't know it, you can figure it out pretty quickly. I know it's objectively an absolutely terrible programming language, and NPM is a blackhole that destroys all hopes of security, but that's where today's developers are.

Like trying to switch Emacs from Emacs Lisp to Scheme, Common Lisp, or Guile, you'll need to rewrite practically everything. Thus, Emacs must die so that Emacs may live.

Making Emacs popular again

Posted May 8, 2020 13:21 UTC (Fri) by jerojasro (guest, #98169) [Link]

I wonder if things like Ejacs might make having JS support in Emacs easier: https://steve-yegge.blogspot.com/2008/11/ejacs-javascript...

Making Emacs popular again

Posted May 10, 2020 13:38 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

> I fell in love with Emacs because it's key combinations were based of the command you want to execute instead of where you're hands are on the keyboard like Vim. I just can't memorize the key shortcuts for Vim because I use Dvorak.

hjkl are the only location-based keybindings in Vim. Everything else is mnemonics (or, rarely, forced elsewhere due to availability like <C-e> and <C-y>). I was able to be decently effective when I was using Colemak because the keys were bound to letters, not location (hjkl were in a nice inverted diamond so at least they were proximal).

Making Emacs popular again

Posted May 8, 2020 4:15 UTC (Fri) by marcH (subscriber, #57642) [Link] (19 responses)

> The code to interface Emacs to X-based GUIs needs rewriting by an expert, and has needed it for decades. Until it gets that rewrite, changes in it are likely to break something.

The GNUstep/macOS interface needs a rewrite too, apparently: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24472

> the keyboard shortcuts are different than other programs,

Readline is everywhere and it uses the (basic) Emacs shortcuts.

BTW "jed" is a my favorite, "low-end" editor wit Emacs shortcuts. There are many others. Using one of them can help with this transition _if_ you're interested in a "text-editing Operating System":

> but I am saying that it's for those who are willing to learn, seeing some extra work as the aforementioned long-term investment, and who have the patience reach a worthy goal a little later rather than right this very minute.

> "Terminal-based Vim is not like a modern application, yet is more popular than Emacs."

What fascinates me is: vim is apparently the last _modal_ editor left. I don't think I could ever get used to "modal editing", because I _always_ forget which mode I am in. Anyone knows what's wrong with me?

PS: once again, an LWN article that saves hours and hours of reading mailing-lists. Thanks!

Making Emacs popular again

Posted May 8, 2020 9:34 UTC (Fri) by mgedmin (subscriber, #34497) [Link]

> What fascinates me is: vim is apparently the last _modal_ editor left. I don't think I could ever get used to "modal editing", because I _always_ forget which mode I am in. Anyone knows what's wrong with me?

Nothing!

I've been using Vim for 20 years. I still get mixed up in the modes.

What I think happens is that us Vim users get reflexes. When we see the text in the buffer doing something nonsensical, reflexes kick in and the fingers automatically do <Esc> <Esc> u (for undo), maybe repeat the u until the text in the buffer starts making sense, and then repeat the editing action.

When undo doesn't work right, or repeating the action doesn't do what I want again, there's the second level of recovery: turn CapsLock off, then try the <Esc> <Esc> u ... procedure.

TBH I'm skeptical about the claims that vim makes editing more efficient than other editors, especially modern IDEs. But it certainly makes editing more _fun_. I'm sure the time I spent tweaking my .vimrc or writing custom Vim plugins, or debugging a macro to do repetitive changes to multiple files takes longer than just doing the editing manually the boring way, but that would be _boring_.

Making Emacs popular again

Posted May 8, 2020 11:55 UTC (Fri) by mpr22 (subscriber, #60784) [Link] (6 responses)

> I don't think I could ever get used to "modal editing", because I _always_ forget which mode I am in.

vim recognizes this, and unlike some implementations of vi, it actually indicates at the bottom of the screen which mode you're in if you aren't in the default mode.

Making Emacs popular again

Posted May 8, 2020 12:22 UTC (Fri) by pebolle (guest, #35204) [Link] (5 responses)

Years ago (five? ten?) I managed to get some patches applied to xterm and to gnome-terminal especially for this problem. (All credits to their maintainers, who held my hand during all this.)

Both terminal emulators now recognize the escape codes (or is it ascii codes, I forgot) to change the cursor. So in these emulators programs can switch the cursor to "|", "_", and to a solid block.

This allows vim to emit these escapes code before changing modes (there are special hooks for that in .vimrc, whose names I also forgot). And so one can make vim use eg. "|" for INSERT, "_" for NORMAL, and solid block for REPLACE.

(But do note that I stopped using a .vimrc altogether. My .vimrc grew so unwieldy that I decided I would be happier without one. It turns out that this is the case. So I'm not at all sold on the configurability of vim. Neither would that feature endear me to emacs, if I would use that editor, which I don't.)

Making Emacs popular again

Posted May 8, 2020 12:34 UTC (Fri) by mpr22 (subscriber, #60784) [Link] (2 responses)

How would one go about achieving the following without a vimrc?

automatically switching formatoptions from tcqn (the intuitive-for-me behaviour for "plain text") to crqnj (the intuitive-for-me behaviour for "code")

setting cinoptions to conform to my personal coding style

setting expandtab when editing non-Makefile code

clearing expandtab when editing Makefiles

setting expandtab, sts=4, and sw=4 when I am editing documentation written in Markdown

Making Emacs popular again

Posted May 8, 2020 12:44 UTC (Fri) by pebolle (guest, #35204) [Link] (1 responses)

Do it manually, every time, for eternity.

Yes, that's quite a chore, but I personally couldn't summon the strength to start a new .vimrc from scratch. Yes, I know, I'm weak.

Making Emacs popular again

Posted May 8, 2020 13:52 UTC (Fri) by mpr22 (subscriber, #60784) [Link]

If I've gone to the trouble of composing a cinoptions line, it's going in a file (because there's no way I'm hand-typing it more than once).

That file might as well be called $HOME/.vimrc :)

Making Emacs popular again

Posted May 8, 2020 13:30 UTC (Fri) by jerojasro (guest, #98169) [Link] (1 responses)

A while back, I did something with my vimrc to change the color used by the cursor depending on the current mode. I assume I should thank you then for making that kind of thing possible :)

Making Emacs popular again

Posted May 8, 2020 19:02 UTC (Fri) by pebolle (guest, #35204) [Link]

> I assume I should thank you then for making that kind of thing possible

No, that wasn't me. But thanks anyway!

Making Emacs popular again

Posted May 8, 2020 16:22 UTC (Fri) by jem (subscriber, #24231) [Link] (8 responses)

>What fascinates me is: vim is apparently the last _modal_ editor left. I don't think I could ever get used to "modal editing", because I _always_ forget which mode I am in. Anyone knows what's wrong with me?

My biggest problem with vi is not that it is modal, I can get used to that. I think the strangest thing about vi is how it handles the cursor. "Normal" editors use the cursor to specify a point between two characters, or before the first character on the line, or after the last character on the line. If there are N characters on the line, the cursor can have N+1 positions.

Vi, on the other hand, uses the cursor to mark the character it is on. The exception is of course if the line is empty, in which case the cursor has nowhere to go, so it is displayed in the first column. This also means we need both an "insert" and an "append" command to enter insert mode, to add text either to the left or the right side of the cursor. Once in insert mode, vi starts treating the cursor exactly like all other editors do: text is inserted at the left edge of the cursor and the cursor is moved forward past the inserted character. When insert mode is exited, vi goes back to its normal behavior and realizes the cursor can't be left hanging mid-air, so it moves the cursor back one step, which is really confusing.

If somebody has a good explanation why vi is implemented like this, I'd like to hear it.

Making Emacs popular again

Posted May 8, 2020 17:21 UTC (Fri) by mpr22 (subscriber, #60784) [Link] (1 responses)

Much of vi's design arises from the fact that Bill Joy was using a 300 baud Lear-Siegler ADM-3A terminal when he wrote it.

Making Emacs popular again

Posted May 10, 2020 14:42 UTC (Sun) by jem (subscriber, #24231) [Link]

And yet, Emacs could be used on an ADM-3A in the mid 1980s with no problem. Using Emacs back then felt very much like using a modern version of Emacs on a text terminal.

Making Emacs popular again

Posted May 8, 2020 17:46 UTC (Fri) by epa (subscriber, #39769) [Link] (4 responses)

Surely there are some vi-like editors which fix this off-by-one design error?

Making Emacs popular again

Posted May 12, 2020 4:04 UTC (Tue) by filbranden (guest, #87848) [Link] (3 responses)

> Surely there are some vi-like editors which fix this off-by-one design error?

It's just one setting away on Vim:

set virtualedit=onemore

You might still find some of the behavior a bit unexpected. For example, $ moves to the last character of the line, rather than one past.

Also, you might just break so many plug-ins this way :-)

But yeah, it's available as a configuration option.

Making Emacs popular again

Posted May 13, 2020 11:07 UTC (Wed) by jem (subscriber, #24231) [Link] (2 responses)

>It's just one setting away on Vim:
>set virtualedit=onemore

Ok, thanks. But this is only a partial solution. As you said, $ does not work, and pressing <esc> in insert mode still moves the cursor one position left. You would think i<esc> (entering insert mode and immediately exiting) would be a no-op, but no. My biggest problem with this setting, though, is that it is not supported in VS Code's vim emulator, which is my main use case for vim: to replace VS Code's Notepad-like default editor with a real editor.

Making Emacs popular again

Posted May 13, 2020 12:10 UTC (Wed) by karkhaz (subscriber, #99844) [Link] (1 responses)

Does writing "inoremap <esc> <esc>l" in your vimrc implement the behaviour you expect?

Making Emacs popular again

Posted May 13, 2020 17:43 UTC (Wed) by jem (subscriber, #24231) [Link]

With this setting I can get rid of the backward jump. But I guess I'd better get used to the standard behavior of (n)vi(m), even if it feels like I am dragging along a single character selection with the movement commands -- a selection I can extend with the v command, but never wholly get rid of.

There's a lot to like about vi, too, for example how you are able to combine editing commands with movement commands. At least you don't have to reach for the arrow keys all the time.

Making Emacs popular again

Posted May 9, 2020 0:17 UTC (Sat) by karkhaz (subscriber, #99844) [Link]

This design makes perfect sense to me.

In normal mode, you sometimes want to operate on characters. Commands like replace ('r'), substitute ('s'), delete ('x') work on the character that the cursor is on, unless of course you prefix the command with a number (in which case the command operates across a span of text, but still starting on the character that the cursor is on). It would not make sense for the cursor to be at the beginning of the line, before any characters, because what character are you operating on?

In insert mode, as you say, the cursor acts like in other editors, because insert mode is the mode that is akin to other editors.

Somebody else made a comment about the cursor changing its shape based on the mode---that seems like a very helpful way to understand this difference, what an excellent feature! In insert mode, you can have the pipe-cursor before the first character on the line, because you can start inserting text before the first character. In normal mode, the cursor is an underline, and the action operates on the character that is underlined. The underline cannot move before the first character or after the last, since there's no character for it to operate on.

Making Emacs popular again

Posted May 14, 2020 13:01 UTC (Thu) by bmorel (guest, #138892) [Link]

> What fascinates me is: vim is apparently the last _modal_ editor left.

There is also kakoune (https://kakoune.org/).
I was willing to try to get used to it since ages, but debian's version didn't had syntax coloration embedded by default, which was a blocker. This thread (specifically your comment) reminded me of it, and nice surprise for me is that, by default on current debian, it *have* syntax coloration without having to mess with config. So I'm gonna give it a try. Maybe I'll just revert quickly to vim anyway, since my fingers have some muscle memory with it now.

> I _always_ forget which mode I am in. Anyone knows what's wrong with me?

Dunno. I don't think I have issue with that.
Basically, I see 4 modes: visual, which is pretty... visual, for selections. Command, which put my cursor in the command area with the ':' prefix, 'normal' and 'editing' (this one have 2 variants, yes: replace and insert, and unfortunately, by default, the cursor keeps the same shape).
The only possibility of confusion I can see is between normal and edit modes.

I think why I don't have problems reminding the mode I am in is because I only go into editing for actual writing. When I'm done, I just escape to normal mode to do whatever I want to do.
I would not call me an advanced vi user, and I don't use it since that many years, less than 10.
Vi-like editors... well, that and bash/zsh... are really usable to me *because* I discovered tiling window managers. They are all powerful tools by themselves, but require time to learn. Their main selling point is that they allow to kill the rat, but that's useless if you need that beast to control and place your windows.
And that makes the reason for which I can avoid using an IDE: my desktop environment have mutated to a development environment, still lacks some features compared to actual IDEs, but have mails, calculator, music player, image viewer, crash-resilience and speed. Can also run most of it's parts without X11, useful for sshing, and it's shortcuts, icons, toolbars and popups really rarely change with new versions.
What I know is that, on the 6 dev colleagues I had on my last job, 2 moved to vim+bash+i3, and I didn't said them to do so, they did it because they wanted to. So, learning vi/emacs is *not* related to age and modern techs.

To the topic... I don't see emac's point, exactly because of how I setup my environment: it does too much stuff, so having it in my environment would mean redundant tools, which I try to avoid (well, vim have window manager integrated, too, I never use it and would be happy if it was not here).
If emacs wants to rise anew, then they should not aim at competing with text/code editors, but with IDEs, because the integration of many features seems to be it's selling point, but it is by far harder to use and setup than the average IDE.

Maybe provide some packages that does IDE by default? Some easy way to summon it with different setups depending on the task people want to do? I think Visual Studio did that last time I had to use it: depending on the language, it had a different look, a different way to do things.

Making Emacs popular again

Posted Dec 3, 2021 19:46 UTC (Fri) by innocentoldguy (guest, #155556) [Link]

Vim isn't the only modal editor. Kakoune is another one. I use Kakoune quite a bit because I like its simplicity and adherence to the Unix philosophy. For example, Kakoune doesn't do screen splits but instead recommends you use tmux for that.

I've recently been learning Emacs because I like Org Mode. My only issue with Emacs is that the plugins seem to range from unpolished to non-functional (adoc-mode). Plugins for both Vim and Kakoune feel more polished and well-thought-out to me.

Making Emacs popular again

Posted May 8, 2020 7:01 UTC (Fri) by Jookia (guest, #128586) [Link]

Having a more accessible development workflow might help gain developers. The first patch is the hardest and in a world of things like GitHub where you can easily fork and send a pull request or look through project issues, the classical mailing list, debuggs and copyright assignment are overwhelming and offputting.

Making Emacs popular again

Posted May 8, 2020 18:21 UTC (Fri) by hughlt (guest, #103920) [Link] (1 responses)

How about class browsing for large projects in object languages? Speedbar does not quite get it done for me.

I have used emacs all day for more years than I would care to admit, using org-mode, tramp, tags lists, and a few simple elisp commands of my own, but I work in a large codebase (~ 6Mlines) that includes C++, java, python, and bash (with new javascript components on the way). So, of course, I spend much more time reading code that writing it. I also get rusty on syntax on languages that I use infrequently.

That said, even when I occasionally use an IDE, I still use emacs for the actual editing. And writing org-mode markup for conversion to Beamer slides or Confluence markup are both indispensable.

Making Emacs popular again

Posted May 8, 2020 18:38 UTC (Fri) by hughlt (guest, #103920) [Link]

Hmmm, looking around, I notice https://sourceforge.net/projects/oo-browser/. Going to give that a try.
Perhaps I just need to keep up with developments better!

terminal mode

Posted May 10, 2020 4:50 UTC (Sun) by mtaht (subscriber, #11087) [Link]

I wish emacs's terminal was as good as gnome-terminal. Then I'd never leave.

Making Emacs popular again

Posted May 10, 2020 5:24 UTC (Sun) by gdt (subscriber, #6284) [Link] (2 responses)

The default environment is too sparse and the cost of discovering basic features is too high.

To put that another way, my ~/.emacs, which does nothing extraordinary, is over 500 lines. Most of which is activating packages or making settings which should be on out-of-the-box. The amount of boilerplate programming needed to get liftoff is only exceeded by Cisco IOS router configurations.

The basic keycodes not matching common practice is an issue, and one which needs resolving out-of-the-box, not with some magic setting. There's nothing wrong with the current Emacs keycodes, they just lost mindshare. Many user's can't even press all the Emacs key-codes, as their operating system has other ideas about those modifier keys.

There's nothing wrong with Emacs LISP *except for* when ~/.emacs starts to be a LISP program rather than simple statements which can be set via the GUI.

The huge kludge to make Emacs work on GUIs needs careful surgery because its shortcomings hurt every time GUIs change to accommodate new hardware -- such as HiDPI. Libreoffice is a great model of how to do such surgery on a huge codebase. Part of the issue here is that package owners are seen as users who can't be disrupted, rather than as projects who can be asked to make changes.

Making Emacs popular again

Posted May 10, 2020 9:38 UTC (Sun) by tpo (subscriber, #25713) [Link]

> The default environment is too sparse and the cost of discovering basic features is too high.
> [...]
> The basic keycodes not matching common practice is an issue

Wow. Exactly this for me.

I've tried Spacemacs because I think their goal is to solve exactly that. But then I got completely lost in "stuff works differently in Spacemacs and some howtos don't seem to apply" and gave up once more.

Making Emacs popular again

Posted May 12, 2020 6:45 UTC (Tue) by epa (subscriber, #39769) [Link]

I was pleasantly surprised to use a Mac and find that Ctrl-A for beginning of line worked. Are there any others?

Making Emacs popular again

Posted May 10, 2020 8:42 UTC (Sun) by llloic (guest, #5331) [Link] (3 responses)

Hi Jake

> There are even longtime Vim users (who may have started on vi, in truth) that need Emacs for certain tasks—me for example.

Just by curiosity, what are the tasks where you need emacs?

Thanks for the article

Making Emacs popular again

Posted May 10, 2020 19:38 UTC (Sun) by jerojasro (guest, #98169) [Link]

AFAIK, it's not needing per se, but just that the functionality available in emacs is better than what is available elsewhere; things that come to mind where that applies:

* editing Lisp code, expanding macros, stuff like that.
* using large plugins, like org-mode.

Making Emacs popular again

Posted May 10, 2020 22:06 UTC (Sun) by jake (editor, #205) [Link]

Glad you liked the article ...

> Just by curiosity, what are the tasks where you need emacs?

The main way to edit articles here at LWN uses Emacs. I also use Gnus to read mailing lists. Once in a great while I will be doing something in Vim and switch over to Emacs for some useful feature. Though I am not expert with either editor, so Vim probably has the feature and I just don't know how to access it :)

jake

Making Emacs popular again

Posted May 12, 2020 18:32 UTC (Tue) by sjatkins (guest, #138806) [Link]

For me orgmode is what I most miss lately when working without other editors and IDES. Next up would be very fast rgrep and direct opens from results. I haven't seen it done as efficiently and generally in any IDE/other editor. The C world support is quite excellent. Back in the day I thought well of JVM support also. To be honest I haven't fully deployed all the python (what I most code in in the day job) support that is present. magit would on my list. Also Tramp as finicky as it can sometimes be has been a life saver.

When I am working/debugging against an remote server emacs in a screen session is a godsend. No GUI based tool can do that.

Making Emacs popular again

Posted May 14, 2020 12:59 UTC (Thu) by antismap (guest, #114361) [Link]

I use Emacs every day, but not for serious code editing. For c/c++ I use kdevelop, for python pycharm. Those IDEs are just better for the job.
For all the rest I use emacs.
vscode or other solutions may be nice in code completion and being "smart" but for those tasks, Emacs will always be more practical:
- open a file while browsing directly in the editor
- copy / paste files around, create folders, directly from the editor
- file operations such as grep, filter lines and so on
- git operations such as log, commit, push... (using magit)
- generally doing something in small window divisions, being able to copy/paste part of each division to other ones

IDEs suck at this, it starts with opening a file which is not part of a project. It's just a pain.

Making Emacs popular again

Posted May 14, 2020 13:06 UTC (Thu) by N0NB (guest, #3407) [Link]

I Liked CUA mode in Emacs until I set out to use Org-mode earlier this year to track a comprehensive TODO list. It was strongly recommended by Org-mode that CUA mode be disabled so back to default keybindings it was. Especially in the way I am using Org-mode, the Shift+arrow keys are used to set the TODO tags and CUA mode would highlight text instead. If a new user is coming to Emacs for Org-mode then they're likely going to have to learn the default Emacs keybindings.

As already mentioned, anachronisms abound and a new user needs a cross reference to make sense of it. Over time it becomes second nature as one moves between other applications and Emacs.

Some features show that the GUI is a bolted on afterthought rather than well
As already mentioned, anachronisms abound and a new user needs a cross reference to make sense of it. Over time it becomes second nature as one moves between other applications and Emacs.integrated into Emacs. One of the excellent features of Emacs is the kill ring, however, I don't recall it being exposed through the GUI so that text in the kill ring could be selected rather than have the chunk of text be dumped into the buffer at point (another anachronism) each time a new chuck is recalled. This behavior has allowed me to make some rather spectacular editing errors. Fortunately, as I recall, the kill ring is copied to the clipboard and I use Gnome's clipboard extension to recall a text chunk. No, I am not the most efficient at using an editor and I accept that.

I use Emacs because it works very well with Autoconf, Automake, and shell files, Org-mode, GNUS, and because I have a highly customized chunk of my init.el devoted to tweaking the C-mode syntax highlighter exactly to my liking. ATM my init.el runs to 297 lines including comments and I still struggle with elisp. I've tried a multitude of GUI editors and none come close to being able to tweak the syntax highlighter to the detail I'd like. Most use Scintilla which offers a certain amount of control over the highlighter but is still lacking for my preference. Non-free editors such as VS Code need not apply here.

Making Emacs popular again

Posted May 26, 2020 18:21 UTC (Tue) by jnorden (guest, #139127) [Link] (2 responses)

I'm late to this party, but as a longtime user of Gnu emacs, I feel obligated to weigh in. I've been using emacs on an almost daily basis for 30+ years. I use rmail for about 90% of my email. I use a customized version of TeX mode for composing documents, which include exams/quizzes/handout for the classes I teach, research-related work, as well as mundane letters, memos, notes, etc. I use emacs for all of the software that I write and/or dabble with, mostly Perl and C. I use shell-mode about as often as I use a terminal window (currently mate-terminal, a fork of the pre-gnome-3 gnome-terminal).

To start with, the idea that emacs "needs" to have more users to prevent it from becoming "extinct" is basically absurd. Free software, by its very nature, *can't* become extinct. Even if current trends/fads mean that there is a lull in the number of people using Gnu emacs today, the source code will still be available for future generations to discover and use. It's about like saying that we must find a way to make the "Early New English" language of the 17th century more appealing and widely spoken in order to prevent the works of Shakespeare from becoming extinct. Even if, for some reason, people stopped reading and producing Shakespeare's plays for a number of years, they would undoubtedly be re-discovered and become popular again.

This all seems to be part of the current insane attitude that software, and technology in general, is some sort of perishable commodity with the shelf life of milk. Somehow, if it isn't updated every month or so, it just isn't any good any more, even though it still does what it used to and your needs for it haven't changed.

Emacs has never been an editor for "casual" user. It doesn't compete with notepad, any of the various "office" editors (open source or not), or even vi/vim. Gnu emacs is for people that want an extensible editor that gives them complete control over how it operates, and can be easily and freely customized to accomplish any sort of task that they want it to. This sort of freedom comes with a price - you need to invest some time and effort in order to learn how to use it effectively. But for many of us, it is an effort that has been more than worthwhile.

In my opinion, it would be incredibly counterproductive to try to attract people who don't need the functionality that emacs provides, or who aren't willing to put forth the effort required to learn how to effectively use that functionality. I believe this means that any person who's decision on whether or not to use an editor is swayed by the appearance of buttons or rounded corners is someone who should *not* be encouraged to start using emacs. If you are not attracted to emacs by the features it provides and the tasks it can accomplish, then please find an editor that will better suit your needs.

On the other hand, if someone wants to add such features for their own benefit, perhaps because they feel it will enhance their own aesthetic experience while using emacs, then by all means do so. That is the whole point of free software, after all. But adding these in an attempt to attract more users is a bad idea.

My *fear* is that a major effort to increase the "user base" will lead to the transformation of emacs into something that doesn't serve anybody's needs very well. This is happening in many open source projects, where all sorts of functionality has been deprecated and then removed because of the perception that it isn't needed or being used by a large enough fraction of users. The recent loss of malloc_get_state() and malloc_set_state() are examples that are particularly relevant to emacs.

Even in emacs, I personally found it a bit annoying to type "M-x count lines region" only to be told in the mini-buffer that:

‘count-lines-region’ is obsolete; use ‘count-words-region’ instead.

But this was easily fixed by adding a single line to my .emacs file. However, if large blocks of code start disappearing from the source, or changes are made that render existing elisp files unusable, then emacs really will run the risk of becoming extinct.

For example, a package of elisp functions that I wrote 30 years ago for emacs-18, which I use to record and average student grades, still works just fine with emacs-26. TeX is the only other software that I know of with this level of stability. It seems that there are very few people today who, like Knuth and Stallman, take a long-term view of what they are trying to accomplish. I could go on along these lines, but this is probably sufficient.

----

However, I feel that I must respond directly to some of the comments about RMS that have been made, along the lines of "emacs would be better without him" or his "signature tantrums." I'll respond in a way that RMS never would, because he is far too polite:

Do you have any idea who the f*** you are talking about!!?

When Richard founded the FSF, which basically started the free software movement, people tried to write him off as some sort of extremest nutcase. "Nobody will write software and just give it away" was a common criticism. Well, history has shown that Stallman was correct, and his critics were the nutcases. It's quite possible that there would be almost no free software, no linux or lwn.net, no gitlab/github, etc, etc, if it had not been for his unfailing efforts and unwavering belief in free software though the years. My own opinion is that, if anything, Richard's opinions and views are a bit too mild and conservative.

The arrogance of youth is natural. I was certainly guilty of it when I was young. But there is no excuse for disrespecting the people who basically built the universe that you currently enjoy inhabiting.

-Jeff

Making Emacs popular again

Posted May 26, 2020 18:30 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

> Free software, by its very nature, *can't* become extinct. Even if current trends/fads mean that there is a lull in the number of people using Gnu emacs today, the source code will still be available for future generations to discover and use.
Why would future generations use it?

Sure, even now there are people who now resurrect old IBM mainframes for fun, but this doesn't mean that the old mainframe programming is in any way alive.

Like it or not, tool development is a Red Queen's race - you have to run just to be able to keep up. Emacs code editing ability is already kinda borderline compared to more modern tools, and it's only going to get worse.

Making Emacs popular again

Posted May 27, 2020 3:41 UTC (Wed) by flussence (guest, #85566) [Link]

> It's quite possible that there would be almost no free software, no linux or lwn.net, no gitlab/github, etc, etc, if it had not been for his unfailing efforts and unwavering belief in free software though the years.

Snuffing out the GPL3 has become one of the foundational pillars of a trillion-dollar industry, so uh, congrats to him for his bit part in drafting a relatively short anti-shibboleth that works on both an economic and social level?

And I'm pretty sure the existence of Git was mostly Tridgell's fault. I've never seen a VCS commit with Stallman's name anywhere near it; in fact I don't think I've seen him write any software this century.

BSD says hi, by the way.

What about adopting Hemlock?

Posted May 30, 2020 17:24 UTC (Sat) by jgfenix (guest, #113371) [Link] (2 responses)

It's a Emacs written in Common Lisp.

What about adopting Hemlock?

Posted May 30, 2020 18:34 UTC (Sat) by jem (subscriber, #24231) [Link] (1 responses)

Everybody is free to use a text editor of his or her choice. This is the first time I heard of Hemlock, and I have been using different versions of Emacs for decades. I took a look at the website (https://www.cons.org/cmucl/index.html) and was not convinced. All the manual links are broken, and the latest news item is from 2012.

If you are suggesting the GNU Emacs project should abandon their current code base and adopt Hemlock instead, what problem would that solve? Would it solve the usability or the not-so-sleek look of GNU Emacs mentioned in the article? What about the millions of lines of Elisp code? Would Elisp compatibility be possible to implement in Hemlock? Emacs Lisp is not going away ever.

The port of GNU Emacs to use Guile instead of the built-in Lisp implementation has failed so far, but not because Scheme is a weak language or Guile a bad implementation of Scheme. The problem with Guile Emacs has to do with the difficulty of integrating Guile with Emacs and getting the final bits of Elisp compatibility to work, getting the editor to start up fast enough, etc.

The idea with Guile Emacs is not to replace Emacs Lisp with Scheme (not initially, anyway), but to use a better (faster), and more decoupled implementation. Interest in Guile Emacs has slowed down because people are asking the rhetorical question "what problem does it solve?"

What about adopting Hemlock?

Posted May 31, 2020 2:12 UTC (Sun) by pabs (subscriber, #43278) [Link]

Surely "it could be faster" is a good problem to solve?

Making Emacs popular again

Posted Dec 12, 2020 22:09 UTC (Sat) by xiaoxing (guest, #143632) [Link] (1 responses)

The biggest problem for me is that elisp is useless elsewhere. It’s hard for me to invest in learning and mastering the language if it’s not useful outside of one tool. I love emacs and has been using it for years since I switched from vim. But I’m still in the realm of copy & paste other people’s snippet and stitch it onto my own config.

Making Emacs popular again

Posted Jan 23, 2021 18:10 UTC (Sat) by nix (subscriber, #2304) [Link]

It's very similar to other Lisps (if archaic in many ways), so learning it helps learning them, and if you know any of them it's pretty easy to pick up elisp.

Also... if you live in Emacs, its' likely that learning it is useful for its own sake, even if it *is* useful nowhere else. It's like being able to reprogram your brain.


Copyright © 2020, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds