Live data from Hacker News

Emacs is special regarding UIs

lists.gnu.org

231–240 of 418 posts

Re: Emacs is special regarding UIs

#231
post #3

Emacs Lisp is slow. There has been a multi-decade effort to make Guile support ELisp, and using Guile to make Emacs more performant. Cross platform UI, with a faster Lisp, would allow Emacs to be even more special.

Yes... but it's not that slow. In practice, emacs works at least as fast as I can think most of the time. This is the most important thing for me. It's the reason why I originally switched to git from svn (Linus also specifically mentions this as a design choice for git). In this day with electron and editors like VSCode I wouldn't call emacs particularly slow.

More important, I never have to wait emacs to fill a buffer with the text I've typed.

Yes, on some modes there is a visible delay between pasting text and being able to type again, or writing some code and it telling me it's wrong. But the one kind of interaction that matters is always flawless.

Many editors do not get this right.

Re: Emacs is special regarding UIs

#232
post #62
post #11

One begins to understand the advantages of this approach after 10-15 years or so. I feel that I am constantly being forced into new "UI paradigms", and it isn't always a change for the better. I started with DOS (Norton Commander, anyone? to this day there is no comparable tool), then Windows 3.0 and 3.1 (which was mostly garbage and I did not enjoy the UI at all). I then started using Linux and discovered Emacs. Whe…

The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. A small price to pay for eliminating tearing and actually-secure screen locking. There are valid criticisms of the move to Wayland but I don’t really think this is one of them; if you really need remote access to graphical applications you almost certainly should not be using X forwarding…

the vast number of threads supporting X11/remote and not caring about screen tearing in the least would seem to imply that your particular prioritization of features is not a commonly shared one.

Re: Emacs is special regarding UIs

#233
post #62
post #11

One begins to understand the advantages of this approach after 10-15 years or so. I feel that I am constantly being forced into new "UI paradigms", and it isn't always a change for the better. I started with DOS (Norton Commander, anyone? to this day there is no comparable tool), then Windows 3.0 and 3.1 (which was mostly garbage and I did not enjoy the UI at all). I then started using Linux and discovered Emacs. Whe…

The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. A small price to pay for eliminating tearing and actually-secure screen locking. There are valid criticisms of the move to Wayland but I don’t really think this is one of them; if you really need remote access to graphical applications you almost certainly should not be using X forwarding…

> The shift away from X11 means no more forwarding X11 applications over ssh

Which works fine and isn't a problem.

> A small price to pay for eliminating tearing and actually-secure screen locking.

Not necessarily. Not in all use cases.

Re: Emacs is special regarding UIs

#234
post #200

This is somewhat oblique to the content of the post but "special" is about right. "Unnecessarily obtuse", particularly from a contemporary perspective, might be a less kind way to describe it. I could say the same about the documentation which, frankly, is not great at making you immediately productive. It's written like an academic treastise, not a tutorial for a piece of software that exists to help you get stuff d…

I think that tools like Emacs and Vim are aimed at people who recognize that very often over the next few decades of their careers they are going to have a need for powerful, complex, flexible text editing, and so even if they have no interest in learning the software for its own sake its worth putting in the up front effort because it will pay off later. For a lot of tools, both in software and other fields, there a…

The thing is, you need AutoCAD (or equivalent) to be a productive engineer in certain fields.

You don't need Emacs or Vim to be an incredibly successful software engineer. It's actually the opposite, Emacs and Vim users are a minority among successful software engineers.

So they are only a specific kind of power tool.

More than that, they can't even handle the "ridiculously complicated". Common examples are trying to use them with projects containing millions of lines of Java or C# code.

Re: Emacs is special regarding UIs

#235
post #95
post #73

Earlier quoted context omitted.

> The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. Yes but sometimes you really need that and it's a life saver. EDIT: I just remembered about LTSP (Linux Terminal Server Project) which many schools used to lower the TCO of computing infrastructure. That relied heavily on Xorg's network transparency. I wonder what will happen to LTSP

For terminal server use cases, there are things like VNC, SPICE, NX, etc. The X11/ssh thing is for when you want to run a mix of local and remote applications on a single desktop, which i think is pretty unusual these days.

> which i think is pretty unusual these days.

You have absolutely no basis for thinking this.

Re: Emacs is special regarding UIs

#236

This is somewhat oblique to the content of the post but "special" is about right. "Unnecessarily obtuse", particularly from a contemporary perspective, might be a less kind way to describe it. I could say the same about the documentation which, frankly, is not great at making you immediately productive. It's written like an academic treastise, not a tutorial for a piece of software that exists to help you get stuff d…

Yes, the Emacs defaults tend to be pretty awful, but you can configure it your liking, given enough time and effort. I've put in a ton of time and effort configuring Emacs (after spending about 25 years on vim and vi), and though it took a long time, the results have been well worth it for me. There's no way I would give that up and go to something with more reasonable defaults but which is much more limited in custo…

> There's no way I would give that up and go to something with more reasonable defaults but which is much more limited in customization capabilities and which lacks a Lisp ecosystem which has been improved by thousands of people for many decades.

You do know that there is a middle ground, right? Emacs itself could come with reasonable defaults.

You'd still be able to customize it (after all, you probably did) and all the newbies wouldn't have to read about 80's computing arcana to figure out how to split a window.

Re: Emacs is special regarding UIs

#237
post #156
post #46

Emacs is not a text editor, it's a platform independent VM which can run your scripts with a text UI. E.g. do you want keep an eye on some information which can be fetched from the net? You just write a script which regularly fetches the info and puts it into a buffer, so you can take a look at it anytime, and then regardless of platform you have that info readily available just by installing your own emacs config fi…

I don't know. People keep saying that Emacs can work nice in terminals, but there's a specific bot-macro in the #emacs channel on Freenode: : ,terminal fsbot [->] I heard terminals are [0] Terminals do weird thing to your keyboard input: http://catern.com/posts/terminal_quirks.html fsbot [1] Terminals have limitations compared to the graphical windows; it's advisable to use "graphical" Emacs unless one has a good rea…

Yes, there are many GUI Emacs fans on #emacs, and one of them obviously happened to set up this bot message. But not everyone agrees that GUI Emacs is better.

Though terminals definitely have their quirks and limitations, they have some advantages over GUI Emacs.

For example, I have my Emacs configuration geared towards terminal use, and use it from within tmux. Because of this I never have to fear losing my Emacs session because X froze or crashed (which has happened from time to time). I can also use Emacs configured the way I like it even before X has started, and on remote systems without X (for which I don't like to use TRAMP mode because it also has the potential to freeze up).

By running Emacs in a terminal under tmux, I also don't have to mentally context-switch between the terminal and a separate GUI Emacs session. I have not been satisfied with any of Emacs' terminal modes, tough I have heard that libvterm is a lot better, so I might give it another go, though even if it's great at terminal emulation there are some other issues with running a terminal from within Emacs which may be insurmountable[1]... which leads me to the next point...

With Emacs running under tmux in a terminal rather than the other way around, I never have to fear losing all of my terminal sessions when Emacs freezes or crashes (which has also happened from time to time). By contrast, tmux is super stable, and I've never once had it freeze or crash, so I can 100% rely on it to keep my terminal sessions running no matter what.

[1] - Running a terminal under Emacs (even if it's a proper terminal like libvterm) has the issue of conflicting keybindings. I already have both Emacs keybindings and tmux keybindings that I have to make sure don't conflict, but if I add to those keybindings for any app I happen to run under a terminal under Emacs then there are bound to be way more conflicts. Of course, it's possible to require some extra keystroke to be pressed before sending on a raw keystroke to the terminal app, but that's just too painful for me to bother with except maybe under special circumstances. In the general case I prefer to have my shells running directly under tmux than in an Emacs terminal.

Re: Emacs is special regarding UIs

#238
post #236

Earlier quoted context omitted.

Yes, the Emacs defaults tend to be pretty awful, but you can configure it your liking, given enough time and effort. I've put in a ton of time and effort configuring Emacs (after spending about 25 years on vim and vi), and though it took a long time, the results have been well worth it for me. There's no way I would give that up and go to something with more reasonable defaults but which is much more limited in custo…

> There's no way I would give that up and go to something with more reasonable defaults but which is much more limited in customization capabilities and which lacks a Lisp ecosystem which has been improved by thousands of people for many decades. You do know that there is a middle ground, right? Emacs itself could come with reasonable defaults. You'd still be able to customize it (after all, you probably did) and all…

Oh, I fully agree, and some people have done just this with packages like Spacemacs, Doom, Prelude, and probably some others.

I've never tried any of them myself, because I already have Emacs configured to my liking, but reasonable defaults is what these packages aim at.

Re: Emacs is special regarding UIs

#239
post #82
post #73

Earlier quoted context omitted.

> The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. Yes but sometimes you really need that and it's a life saver. EDIT: I just remembered about LTSP (Linux Terminal Server Project) which many schools used to lower the TCO of computing infrastructure. That relied heavily on Xorg's network transparency. I wonder what will happen to LTSP

Honestly, I think people's reliance on X forwarding is just due to the fact that it happens to exist, not because they really need it. There's nothing like X forwarding on Windows to my knowledge. If X forwarding didn't exist people would have figured out how to do what they needed over SSH with text or when GUI's are irreplaceable sysadmins would have set up an actual remote desktop solution like on other modern ope…

> There's nothing like X forwarding on Windows to my knowledge.

Which is why the people who need this functionality run Linux, not Windows.

Re: Emacs is special regarding UIs

#240

Earlier quoted context omitted.

As a long time emacs user, I can confirm that emacs is terrible... and everything else out there is deficient. I can write custom code (ew, elisp) to determine how to switch between buffers (test buffer and code under test) and I can run my tests and find operations and the like in a first class buffer and a dozen things like that which are just incredibly painful in other editors. Also I hit Cx-c by mistake thrice a…

;;; Make it more difficult to kill emacs accidentally (defun my-kill-emacs () "Confirm before 'save-buffers-kill-emacs'." (interactive) (if (y-or-n-p "Really kill Emacs? ") (save-buffers-kill-emacs) (message "Aborted") ) ) (global-set-key "\C-x\C-c" 'my-kill-emacs)

Dude, `M-x custom-set-variable RET confirm-kill-emacs RET TAB`
Post reply on HN