Live data from Hacker News

Toward a “modern” Emacs

lwn.net

101–110 of 539 posts

Re: Toward a “modern” Emacs

#101
post #25

Emacs is in that disastrous stage of a product's life where the geezers destroy their own community by refusing to adapt to new expected behavior, thus driving away the newbies. Eventually the product dwindles to just supporting the few remaining geezers left. I'm not talking about stupid fads such as skinning and color palette changes. But cut-copy-paste keybindings (not to mention select-all, save, close window, un…

> Emacs is in that disastrous stage of a product's life where the geezers destroy their own community by refusing to adapt to new expected behavior It doesn't look like your an Emacs user. As another commenter pointed out (as did the article indirectly), Emacs has more users than ever. It's definitely growing - not dwindling. As an Emacs user, the last decade has shown an immense growth in capabilities via MELPA pack…

I don't really buy the argument I'm afraid.

I've been an Emacs user for over 20 years. I like it, and find it productive. But it's stuck in a rut, in a very similar manner to Perl 5. If that isn't addressed, it will fade into the background. I'd argue that's already happened. None of my coworkers in any of the jobs I've worked in have used it, and that includes academia and various industries. It seems to be restricted to the uber-nerds who find out about it and go through the pain of learning how to drive it effectively. I used to use it for everything, from GNUS to org-mode, but my usage is declining.

The keybindings need to be fixed. CUA has been the norm for what, 35 years at this point. C-y is paste. C-z minimises the window (WTF!) C-_ is undo. It's not just nonstandard and counterintutive, it's unnecessarily nonstandard and counterintuitive. They aren't more efficient, they aren't more effective. It's a barrier to adoption which doesn't need to be there. It has a certain familiarity for us long-time users, but that's about it. Every other application uses something based on CUA, so it's not like we couldn't switch over.

While I certainly wouldn't want a "GNOME 3" type of makeover, where all the actual userbase are cast aside to be replaced by a hypothetical potential userbase which doesn't actually exist, I do think it's well worth a look at present-day alternatives and to make sure it doesn't fall behind. Because I think it actually has fallen behind, and it needs to get its act together to retain its relevance.

Recently I got a personal JetBrains subscription and started using CLion. While I still miss many little small features, there are quite a number of big features which Emacs doesn't attempt to do, and so the small annoyances are worth it for those large benefits. Emacs needs to be able to do better than this to not only keep up, but to do better than its competitors.

Re: Toward a “modern” Emacs

#102

Earlier quoted context omitted.

It's over 40 years old but it has fewer and fewer users younger than that. VS code is rapidly taking over it's niche and without modernization, of many kinds, emacs will die out in a generation.

I've used Emacs for 33 of those 40+ years, and I agree with that until the word "without". You don't mean "modernization". You mean "without it changing". And the answer is yes, it will die out.

What are some of the changes you would want to see?

Re: Toward a “modern” Emacs

#103

The Emacs community should start by perfecting lsp-mode so that it can compete with VS Code in terms of functionality. That will simultaneously keep power users from switching AND bring in people from other "easy to use" editors that lack such functionality.

I basically gave up on Emacs and switched to a combination of VS Code and old-school vi for Go and everything else, respectively. Finding an effing theme that allowed me to program in Go in a terminal without making LSP’s overlays unreadable was nearly impossible. I spent days trying to make this work. I’ve used Emacs since 1991.

Re: Toward a “modern” Emacs

#104
post #39

I've been an emacs user for more than 20 years. Is it just me, or is this article completely missing the point? I've switched to VS Code because I can install extensions so easily. Getting a theme installed is not my concern at all. With emacs, I'm still never sure how to get elpa (or why not melpa) to work correctly. And, modern packages for react never seem to be available there anyway. I'm still astounded package…

use-package has basically solved the package management problem for me in Emacs.

use-package can make package management easier, but using it s not beginner friendly. As an advanced Emacs user, when I read its docs, there were too many subtleties that can trip up a beginner.

Indeed, just yesterday I stopped using use-package for one of my packages as I couldn't figure out why it wasn't behaving properly - reverting to require solved it.

Re: Toward a “modern” Emacs

#105
post #99

Earlier quoted context omitted.

> emacs use is in 16th place for editor popularity at ~4.5% usage, but has stayed close to that number for years. It is possible that "Stack Overflow surveys" select for programmers who tend not to use Emacs. For example, I use Emacs regularly and know what Stack Overflow is, but have never taken one of these surveys. I'm not even sure how they survey developers. Ask on some crufty mailing list and you probably will…

They probably just send a newsletter to StackOverflow users :-)

Emacs users are probably more likely to unsubscribe to newsletters that they did not sign up for :)

(On a side rant, I really dislike how a lot of websites have normalized “create an account on a website” to mean “Sign up for receiving a plethora of emails about everything the website and its creators are up to these days”)

Re: Toward a “modern” Emacs

#106
post #98
post #64

Earlier quoted context omitted.

> It is widely used for a staggering array of tasks. Is it? What area are you in? In my hobbyist, college, and industry experience I've never seen anyone use emacs for anything. I have seen Vim (or at least vim bindings) a few times, but I only know of emacs from older unix discussions online. Edit: Looking through stack overflow developer surveys, emacs use is in 16th place for editor popularity at ~4.5% usage, but…

I've personally known 2 Emacs users in my ~15 years in the industry. I've worked in Europe for various startups and a bunch of corporations. Both of them used it as a sort of hobby/side editor, their main money maker was an IDE (VS, IntelliJ). I've probably worked with 500 developers, if not more. My personal impression is that Emacs is like the Yeti of programming editors. Everybody has heard about it, few claim to…

I’m nearly 40 and I’ve used it as my primary text editor since I was a teen and daily for my job.

For your anecdata collection.

Re: Toward a “modern” Emacs

#107
post #64
post #28

I don’t know. I read the whole article and it seems the suggestions boil down to emacs needing to be more “modern” by defaulting to dark mode, making color theming easier, changing right click behavior, the menus, and changing the shortcuts. And the author of the article would like the development process to be more “modern.” Emacs is one of the most successful text editors of all time if not the most successful. It…

> It is widely used for a staggering array of tasks. Is it? What area are you in? In my hobbyist, college, and industry experience I've never seen anyone use emacs for anything. I have seen Vim (or at least vim bindings) a few times, but I only know of emacs from older unix discussions online. Edit: Looking through stack overflow developer surveys, emacs use is in 16th place for editor popularity at ~4.5% usage, but…

In my uni, many professors used Emacs when demonstrating. For example, one course [0] used the Agda language [1] as a proof assistant. Afaik, the only good interactive Agda interface is the Emacs Agda mode [2]. Maybe you just live in a region of the world that happens to have a weak culture of using Emacs?

[0] http://www.cse.chalmers.se/edu/year/2017/course/DAT350/

[1] https://wiki.portal.chalmers.se/agda/pmwiki.php

[2] https://agda.readthedocs.io/en/latest/tools/emacs-mode.html

Re: Toward a “modern” Emacs

#108

Yeah definitely ignore all the seasonal requests for the latest fads, and just focus on the last paragraph. I think the post author agrees, hence the sarcastic tone. The fact is Emacs does many neat things but is also a giant steaming pile of sh-- tech debt. I'm sure VSCode will get there too as time passes, but older editors simply have a head start in this regard. Emacs needs it's Neovim (which also contributes bac…

I would love something like “Emacs’s Neovim”. Guile should be enough. Keep packages out of the global namespace. Get rid of Elisp and all its differences. Let me use C-Z/X/C/V for undo/cut/copy/paste (or maybe C-Shift-C is fine?) Keep org-mode, web-mode, etc :-)

I don't think we even need Guile (though I wouldn't complain). Just cleaning up the way packages install (a proper package system, which could be optional) would be a vast improvement for elisp.

By creating a package system, making everything default into the el-user package if not otherwise specified, and moving the core elisp capabilities to the el/emacs-lisp package (used by el-user, importing everything), you'd create a clean path for moving forward. I have zero time and energy to contribute to emacs, but this is really the only fundamental change I'd want as someone who does delve into elisp frequently (or used to, not so much in the past year or so).

Re: Toward a “modern” Emacs

#109

The article makes some interesting points, to me, though, I think the Emacs devs need to have a discussion with themselves if they even want to go here. Here's what I see as an outsider if I'm a Windows users and want to give this great emacs editor I've heard so much about a try: First off, I search for emacs, I land on a page with a Windows link. I click that link, I get a rant about how Windows is evil. Ok, fine,…

> it teaches me is some odd-for-me commands to navigate that as a user are all new and unlike every editor I've used.

That is the point. If it worked the same as every editor you've used, why switch? The point why Emacs is better is because it's different. These things need to be learned. Otherwise, Emacs can't help you.

It would be like people complaining that playing a guitar is different than pushing the play button on every music player they've ever tried. Well, yes, that is the point.

Re: Toward a “modern” Emacs

#110
post #64
post #28

I don’t know. I read the whole article and it seems the suggestions boil down to emacs needing to be more “modern” by defaulting to dark mode, making color theming easier, changing right click behavior, the menus, and changing the shortcuts. And the author of the article would like the development process to be more “modern.” Emacs is one of the most successful text editors of all time if not the most successful. It…

> It is widely used for a staggering array of tasks. Is it? What area are you in? In my hobbyist, college, and industry experience I've never seen anyone use emacs for anything. I have seen Vim (or at least vim bindings) a few times, but I only know of emacs from older unix discussions online. Edit: Looking through stack overflow developer surveys, emacs use is in 16th place for editor popularity at ~4.5% usage, but…

Half my fifteen-person team at work (in a fast-growing mid-size fintech company in Chicago) uses Emacs, for editing/testing/running code in several languages, interacting with Web services, running various shells, calendar functions, document writing including UML diagrams and mathematics typesetting, and personal planning (Org Mode). To do this, we collectively probably use about 0.1% of the publicly available extension packages for Emacs on MELPA.

But the short summary is that most people use it for the various functions an IDE provides. The major difference between Emcs and other IDEs (VSCode, IntelliJ, ...) is that (a) it's often a little harder to get functionality that is provided out-of-the-box by another IDE, but (b) it's much easier (in some cases, infinitely easier) to implement workflows or functionality not already implemented by said IDE.

As an example, I often run snippets of code and want to insert the result directly beneath the code in question (similar to Jupyter in Python, but for any language, in plain text, directly in my editor). A trivial amount of Emacs Lisp gave me that with minimal effort.

If you like to have nearly absolute control of your editing experience, Emacs might be interesting to you. For most people starting out, who just want to get hacking on some code as quickly as possible, it is perhaps not the best fit.

Post reply on HN