84 ms·
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 them
by mapgrep 6y ago
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 is widely used for a staggering array of tasks.
It is over 40 years old.
When I see a highly successful 40+ year old piece of software, my first instinct isn’t to ask what the people behind it can learn from me but what I can learn from them.
I’m not saying the editor can not be improved. But I think the bar is much higher than this. It’s not an insult to say something like emacs is not “modern.” Of course it’s not. And changing the colors? The shortcuts that have worked for decades? Please.
If someone thinks emacs will be more successful with these cosmetic changes they are welcome to fork it since this is one of the earliest open source programs. Code talks, a bunch of people opining on a mailing list is pretty worthless in comparison.
- wtetzner 6y agoYou don’t even need to fork it. Just have write a .emacs file that new users can copy to their home directory that sets all of that stuff up.
- neltnerb 6y agoI think I still have the .emacs file I inherited from an upperclassman. It had better syntax highlighting than what was built in at the time =)
- TylerE 6y agoSee, this is what I hate about emacs. It feels like a spring loaded bundle of magic that will explode if I look at it wrong, and, having exploded, I will never ever ever get it put back the way it was.
- xfer 6y agoOr you can learn about the magic and wield it.
- TylerE 6y agoI am a craftsman, not a tool maker.
- neltnerb 6y agoYeah, I'm with you on that one. I would definitely not have created my own from scratch, and I even knew scheme at the time.
- TeMPOraL 6y agoA craftsman makes his own tools. Not all of them, but some, whenever they see a possible improvement, or their work is novel. It's the assembly line worker that doesn't, and sticks to using the company-provided "industry standard" tooling. The assembly line worker doesn't need to make custom tools, because he/she has no agency - the worker's role is just to close a feedback loop in a well-defined industrial process of mass manufacturing a fully specified end product.
- neltnerb 6y agoI know a fair number of craftspeople. The only one who made their own tools was my brother, who wound his own heater coils for his glass annealing furnace because it was too expensive to buy. Similarly, the only time I design a custom LED light is if I cannot buy what I want. And I'm really good at designing LED lights, I've been doing it for fifteen years. If the goal is to make furniture, or a glass flask, or a pair of socks -- why would you think those skills overlap with the skills required to improve a band saw, build a torch head, or manufacture knitting needles? They're not even using the same broad area of skill. It is lucky that you can change software so easily, but I think calling anyone who doesn't feel it is a good use of their time to customize one tool instead of just using a different one an "assembly line worker" is quite insulting, mastering a tool doesn't necessarily require being able to manufacture it. I could not manufacture a pen but I'm pretty good at writing =P
- slightwinder 6y agoNo, there are certain features and terms in Emacs which makes it very alien to the modern world. Things like the cursor being limited to the visable part of the buffer, the usage of "window" for a buffer and "frame" for an application-window. Also the way Undo/Redo works and such. If you really aim for a modern Emacs, then forking it and fixing it from the ground up might be not the worst idea longterm. Emacs is so old that it has accumulated quite a number of old cruft and debt.
- Miraste 6y ago> 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 has stayed close to that number for years.
- Jtsummers 6y agoorg-mode and magit seem to bring in a lot of emacs users, even if they're only using one of those two things. If I stopped using emacs for code tomorrow, I'd still use org-mode and magit and still encourage others to do so as well, even if I also pushed a different editor or IDE for writing code.
- Mediterraneo10 6y agoMeanwhile, I’m always amazed how, on HN threads about Emacs, people talk about preferring the Vi family of editors. When I installed Linux on my computer two decades ago and had to learn *nix, my own (totally subjective) impression was that the Vi family was regarded as clunky and half-obsolete, about as much of a pain as editing in ed. As I began to contribute to the Free Software community, most of the other people I interacted with seemed to use Emacs. So, to find out that Vi is still used and loved in 2020 has been a shock.
- Skunkleton 6y agoI don't think many people are using Vi. Its more likely they are using vim or neovim, which are both far from clunky.
- spudlyo 6y agoI think the thing about Vi and Vim that has the most value in 2020 is not the software itself, but rather the keyboard-centric composable modal editing system that they popularized. Some of the growth that Emacs has enjoyed over the past several years is from folks who want the Vim style modal editing in an editor as customizable and extensible as Emacs. Emacs "distributions" such as Doom and Spacemacs cater to these folks.
- wrycoder 6y agoThe Prelude package uses dark mode to give Emacs a modern look. And adds line numbers for the same reason - LOL.
- zarkov99 6y agoIt'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.
- PaulDavisThe1st 6y agoI'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.
- zarkov99 6y agoWhat are some of the changes you would want to see?
- tsuujin 6y agoI think adopting cua-mode as the default would go a long way towards reducing the initial friction for new users. Most of the time when I try to get people to adopt emacs, they abandon it because it feels like a huge task to relearn basic text manipulation. They never get to actually see what makes emacs good because they don't feel compelled to get past the initial bump.
- BeetleB 6y agoBut here's the question: If Emacs defaulted to CUA, how many of those people would get to see Emacs's goodness? CUA alone doesn't get you there. To do most of the things that make Emacs stand out involves a fair amount of learning (and possibly customizing). You have to put in some amount of effort before you get its benefits. While I certainly don't mind making simple things easier (e.g. CUA mode), I also see that doing so will not help new users much beyond doing very basic editing.[1] There are a fair number of stairs to climb to get to the point of being useful, and superficial stuff like CUA, etc simply eliminate perhaps 5% of the steps. Don't expect this change to make a big difference in retention. As a corollary: If someone is not willing to learn how to enable CUA mode in the config file, then it is highly unlikely they will ever learn to use the features that make Emacs salient. [1] I know, because my first decade of Emacs use was like this. I got past CUA mode, but otherwise used it for very basic editing. I always installed an IDE to do "real" work. It's only after one of my favorite IDEs died did I decide I really should just learn to use Emacs properly, and invested a week's worth of effort to be proficient in it. That week made all the difference.
- quadrifoliate 6y agoI feel old when I see ”modern Emacs” and think “Oh, maybe they are finally either finishing off Guile Emacs, or porting the extension language to Common Lisp”. I guess I agree that ibuffer should be part of the standard distribution. Less sure about undo-tree, but could be an option if the authors released it under appropriate licenses (I understand that contributing code to Emacs is somewhat cumbersome; although if I were smart enough to do so, I would jump through the hoops in a heartbeart).
- rpdillon 6y agoibuffer is part of the standard distribution, it's just not called by C-x C-b by default (that's bound to list-buffers instead).
- quadrifoliate 6y agoSorry, turns out I was thinking of ivy-switch-buffer, not ibuffer. You are absolutely right though.
- pavanky 6y agoEven if they are not enabled by default, I think having these features would be nice and would be helpful for emacs distributions to really take off more than they currently do. Something like spacemacs and prelude would have a much wider adoption if there was a mode that can be enabled to make the learning curve smaller, the look / themes better, ui more intuitive.
- coldtea 6y ago>I’m not saying the editor can not be improved. Just not on your lifetime.
- new_realist 6y agoThe lesson is to be the first editor with an API and plugin system. That’s the trick. It’s like QWERTY.
- celeritascelery 6y agoBut the funny thing is Emacs has neither of those. There is no real "API" or "plugin system". Just code. You can copy a function off the internet and paste it into editor and now it is part of your Emacs. And you can modify any of the existing code as much as you please. That is the lesson of Emacs.
- new_realist 6y agoI don’t see that as a benefit, I see that as an accident. The fact that the whole thing is a hairball isn’t how editors two centuries from now will be. But it is an approximation to a modern system.
- II2II 6y agoI agree that age is an issue since design decisions were made before standards were agreed upon, and it is going to be very disruptive to change those design decisions. Changing keybindings is certainly going to cause pain, but even remedying terminology is problematic (e.g. window vs. frame). That's likely why cosmetic issues were popping up as potential solutions. I agree that those cosmetic changes won't modernize Emacs in a meaningful way since it is a very low bar. I also think the article is correct in pointing out that discoverability needs to be addressed. Contrast Emacs and VS Code in terms of extensions. Both editors are intended to be extended. VS Code does a good job of highlighting extensions, while the Emacs extension manager is buried. Likewise, Org seems to be rather popular yet very people will discover it independently since the user interface isn't designed for that. That said, some of the discussion about discoverability was disheartening. Telling people about features isn't really sufficient. They need to be exposed to it while they are working with the program, and that exposure has to be in a non-disruptive way. Tutorials, video or otherwise, aren't going to help because of that. There are plenty of Emacs tutorials online anyhow. If the LWN article is an accurate reflection of the discussions, I think that Emacs developers have to put a lot more thought into how to progress.
- deleted 6y ago[deleted]
- Fishysoup 6y agoI would like it to be multithreaded and for Org mode to have some more UI features (and I think a lot of people would - at least the former). From what I understand it's really hard to do that by building on the existing C base ELisp base. Unpopular opinion: we should write the "new" Emacs in Julia (and maybe Rust).
- daedalus_f 6y agoAs for Julia, I mean I like the matlab like syntax for data science use, and I’m sure its great for prototyping computation heavy algorithms where run time dwarfs the JIT lag, but its surely not suitable for a text editor, at least at present. I’ve tried Julia several times as new versions of have been released and for simple scripting tasks that required a few external libraries I’ve always ended up rewriting the script in Python because the scripts were faster to run from start-up, more consistent in performance (no unexpected pauses to re- pre-compile) and simpler (no messing around getting packagecompiler.jl working etc).
- Fishysoup 6y agoMy experience has been the opposite: things have been much easier and faster to set up in Julia. Yes, "time to first plot" is annoying after you update the plot package, but that's the only annoying thing for me. Julia is a thinly disguised Lisp, offering all the wizardry associated with that language family - so it's very expressive.
- hardwaregeek 6y agoThat's great and all, but people who are learning emacs for the first time don't know or care that it's one of the most successful text editors or that it's been around for 40 years. They care about being able to write code effectively. And emacs doesn't let users write code effectively by modern standards. Sure, after boatloads of configuration and tinkering it does, but it's unclear if it's worth it. Forking it is also missing the point. There's plenty of forks with dark coloring schemes and predefined packages. Spacemacs, Doom emacs, etc. The issue is that most people hear about emacs and try to download emacs, not Spacemacs, not Doom. They're then greeted by an unfriendly UI and confusing commands and dammit it doesn't even autocomplete JavaScript by default. Dark color schemes and proper right click functionality might seen dumb, but they're one easy step towards making emacs seem like an editor for the 21st century and not something your dad used on a Lisp machine in the 80's.
- stingraycharles 6y agoYeah I think this is on point. The core maintainers are always kind of resisting changing things to more sane defaults, which is a pity. I recently had the experience of a friend of mine, a data scientist, tell me he tried to use emacs but just couldn’t get it to work. When I asked how he installed it, he was like “well I just downloaded it, and started tinkering a bit with my config”. After which he just ditched it, he accepted that the learning curve was just to steep. The idea that there are these whole starter packs never crossed his mind. I referred him to a few, and he suddenly got much more productive and has been a happy emacs user ever since. Moral of the story: at the very least, users should be made aware of these starter packs much more prominently when downloading or installing emacs. Alternatively, fix the defaults.
- fennecfoxen 6y agoA little messaging about starter-pack options, in the default welcome screens, would go a long way.
- ngcc_hk 6y agoGreat. Now where is the starter pack. Better with some lisp in a box etc. as well. I use lisp download with Mac because at least the key I know of. No strange key combination.
- bitexploder 6y agoThere is this one concept. I can’t get away from it. Comprehension bandwidth. Emacs is an amazing piece of software. I have probably used it more than any other piece of software over 20 years. The marginal utility of Emacs over pycharm or Gedit does not exist. Most programmers, if they are being honest, can be just as effective in notepad. Modern IDE that understand their problem domain provide much more utility. These are simple facts. We type characters, they do stuff. It don’t take a fancy editor to do that.
- m463 6y agotransparency, gradients and rounded window corners. oh, and a thin sans-serif font. maybe a soundtrack
- ernst_klim 6y agoThe main problem with emacs is that while it's praised for being a programmable lisp environment, it's not a really good one. It doesn't have widgets, decent rendering engine with scene graph and hardware accel, it's single threaded, the language is clunky. You really can't make decent applications in emacs, only text with embedded images and primitive buttons, that blocks and stalls all the time. It really needs some major update.
- Smithalicious 6y agoI don't think Emacs needs to be GTK
- ernst_klim 6y agoEmacs needs to be contemporary framework, implementing modern ideas of how to organize and optimize stuff. Software engineering and hardware advanced a lot in the previous 40 years in all the directions: PLs, GC algorithms, UI rendering. If Emacs wouldn't be a contemporary technology, people would simply choose another editor.
- nikanj 6y agoThe default display colors for software have gone from green text on black background to black text on white background, and then back again in the 40 years that emacs has been on the scene. It’s quite silly to think that dark mode is a modern invention. It’s just a example of how software trends are a form of fashion, and they do behave cyclically. See also: return to lightweight clients and fat servers as we moved onto the web, and then moving the bulk of work back to fat clients with React etc
- umanwizard 6y agoGreen on black was not exactly a “software default”. It was a physical property of the display hardware. Dark on light is at least thousands of years old, think of ink on papyrus in ancient Egypt.
- nikanj 6y agoI think we're talking about different things here. You're talking about the physical restrictions of the media, I'm talking about the defaults selected by software developers. My first computer could display dozens of colors, but defaulted to a dark background and light text. Windows 3.11 defaulted to black-on-white, on hardware from the same era. And now we're cycling back to defaulting to dark modes again.
- umanwizard 6y agoYou’re right; I was thinking of the text-only terminals that were widely used in the 70s and 80s. I believe those are where the green/amber/white on black aesthetic originated, because they couldn’t display anything else. But I could be wrong.
- anoncake 6y agoThe author seems to confuse "better" and "more like others". The colors are a clear example of the latter, the developers didn't choose a light theme back then because dark ones weren't invented yet or because computers weren't powerful enough for them. Things like the completion UI may be a different story.
- xmprt 6y agoI don't think emacs needs to change but I also feel like there are some concerns that need to be addressed for a new and rapidly growing generation of programmers who aren't learning to use emacs and vim. While it might be thriving now, we're probably 10 or 20 years away from emacs being extremely niche (more than it is today).
- dgellow 6y agoSo I agree in part with your point that emacs doesn't really need to change their UI/UX (new menu, new shortcuts, etc). The Emacs model takes time to learn and is different from the rest of the world, but it works quite well once you take the time to learn it. That's not for everybody, not necessarily beginner friendly, but that's fine, emacs is a quite advanced editor environment, it has its own niche of users. But some things make emacs just a bad editor, even for people who did spend the time to learn it. For example emacs is horrible at dealing with big files. The entire editor is stuck for seconds if you open a log file with just a few megabytes of content. Emacs performances are also really bad when compared to other editors, simple syntax highlighting or intellisense is just really, really slow. I used emacs for years as my main editor because I was happy to have something stable, because I love lisp, and because I really like the introspection and control you get. But at some point I realized how fast and way more advanced other editors were in comparison to what I could get with a tuned emacs environment and jumped ship. Even keeping the emacs UI and UX there is a lot of modernization that can be done under the hood to make it up to the task of the modern world.
- dcassett 6y agoI just tried opening a large (11 MB) log file on a 2008 netbook and, except for the unexpected "File is large, really open?" question, the load time seemed instantaneous (Emacs 26.3, Lubuntu 16.04).
- bborud 6y ago> When I see a highly successful 40+ year old piece of software, my first instinct isn’t to ask what the people behind it can learn from me but what I can learn from them. This is how incumbents die: when the fact that something has existed for a long time is taken as proof of it being at no risk of disappearing. I used to work for a company that has been around for roughly 150 years. And it is precisely the attitude that "we've been around for 150 years" that made it blind to the fact that in the last 15 years, it has become a little bit less relevant every year because disruptors slowly eats away its market. In one sector the company would boast 3% growth year over year - while glossing over the fact that the sector had a growth of several hundred percent per year. You can have growth and at the same time lose market share at an astonishing rate. This is kind of what happened to Emacs. There has been an astonishing growth in the number of developers over the past decades. Which means the "market" for editors and IDEs has exploded. And while more people may be using Emacs today than ever before, I would hazard a guess that the market share has gone down.
- slightwinder 6y ago> Emacs is one of the most successful text editors of all time if not the most successful. Define success. > But I think the bar is much higher than this. Sometimes it's the small details who have the biggest impact.