Live data from Hacker News

Emacs is the 2D Command-line Interface

hongchao.me

81–90 of 180 posts

Re: Emacs is the 2D Command-line Interface

#81
post #80
post #68

Earlier quoted context omitted.

>Only a small portion of the article is about SW development. The article, is, however written by a software developer. >The fraction of Emacs users who use it primarily for things other than programming is a lot bigger than most HN readers think it is. Do we have any hard data here? Or is this just an anecdote? Sure, Emacs is usable for a lot of stuff outside programming. I personally use it for org-mode and as a ge…

>> The fraction of Emacs users who use it primarily for things other than programming is a lot bigger than most HN readers think it is. > Do we have any hard data here? https://emacssurvey.org/2020/

The data there is heavily biased as it was advertised and promoted in only a few select places (e.g. Reddit).

Re: Emacs is the 2D Command-line Interface

#82
post #52
post #18

Earlier quoted context omitted.

At least in my discipline (statistics) the Emacs extensions for R and latex seem to be better than Vim, VSCode, etc. Sample size = 1.

Emacs has a lot of amazing extensions! Magit is unparalleled for working with Git. The problem is that they break more frequently, in my experience. The very fact that I have to install a 3rd-party DSL to have a sane package management experience is beyond the pale from a usability perspective.

Clunky interface aside (a given with emacs), what's wrong with package-list-packages and customize? It's essentially no different to installing and configuring packages in vscode. Why do you think use-package is necessary?

Re: Emacs is the 2D Command-line Interface

#83
post #36

Earlier quoted context omitted.

I first used emacs 25ish years before VSCode existed and VSCode was pretty much immediately easier to use and customize; to be fair, it's not like I was using Emacs heavily in the intervening quarter century, but I was using it fairly regularly. OTOH, I have no problem believing someone using Emacs as a daily driver for years would find it easier (but I think most developers, and particularly newer developers—where t…

VSCode will likely get you to 80% productivity compared to Emacs pretty fast. The question how easy is to get from 80% to 100%. It is like a prototype vs. polished code: you can create something that provides 80% of the result over a weekend and then spend 2 years polishing it, to get remaining desired functionality. For example, I'm sure VSCode does git but does it as well as Magit? Everyday things can be done on mu…

> Every keystroke is a programmable command in Emacs. VSCode is close.

VSCode does not even have keyboard macros. Either "every keystroke is a programmable command" is not exactly what is going on in VSCode, or the VSCode users do not exactly understand what this "Open Source" thing is, because so far there has been 5 years of whining and 0 patches: https://github.com/Microsoft/vscode/issues/4490

Re: Emacs is the 2D Command-line Interface

#84
post #20

So is vim? Not to rehash the same battle that’s likely older than most of us are, but both emacs and vim are text editors taken to their logical conclusion. Both can do pretty much the exact same thing as each other, if only because some neckbeard in the 80s wrote that feature to score points in the great vim/emacs saga.

Emacs is an elisp execution environment that by default executes some elisp that is useful for editing text. Vim is... a text editor.

This is spot on, I use Emacs as an X window manager, terminal, file manager and so on, not just as an editor.

Re: Emacs is the 2D Command-line Interface

#85
post #32
post #6

I love Emacs, but I think it’s safe to say that it’s a lot harder to use than Visual Studio Code, which is vastly more popular. I think what made VSCode popular was the availability of many high-quality extensions for major languages. Unfortunately, my experience with Elisp packages is that they tend to be much less stable. This is changing some with LSP mode, of course, but I think the Emacs community would do well…

I agree that VS Code is easier to edit code in, but Emacs is easier to program and extend. Ease of use simply isn't why people use Emacs and I think that at this point it would be hard for it to ever compete with VS Code on that front. VS Code is like the Java of text editors. It relies on a universally understood and accepted model of editing text (non-modal, leveraging the mouse heavily), one that is familiar to al…

> but Emacs is easier to program and extend.

That is only true for the low level tasks out of the box. Adding a simple command is very easy. But doing something more complex can be very painful in emacs.

VS Code on the other side is out of the box focusing on flawless experience and supports hacking only through hidden paths. Though, install a simple extension and it's as simple as emacs. While having still a better experience on more complex tasks.

> VS Code is like the Java of text editors. It relies on a universally understood and accepted model of editing text (non-modal, leveraging the mouse heavily)

This again is just the out of the box-experience. Modal editing is possible, though it's true that there is still place for improvments. Which is ok for an editor which is just 5+ years old. The project seems to play a strategy there it unfolds from a safe corridor of stability and adding more and more abilitys, instead of starting from open chaos and trying to control it.

Re: Emacs is the 2D Command-line Interface

#86
post #78
post #68

Earlier quoted context omitted.

>Only a small portion of the article is about SW development. The article, is, however written by a software developer. >The fraction of Emacs users who use it primarily for things other than programming is a lot bigger than most HN readers think it is. Do we have any hard data here? Or is this just an anecdote? Sure, Emacs is usable for a lot of stuff outside programming. I personally use it for org-mode and as a ge…

> That doesn't mean that the Emacs usability story could be better overall. Obviously I don't think Emacs should be as narrowly focused as VSCode. Greater usability would benefit users who don't program. My comment had nothing to do with usability. I merely find the incessant comparisons with VSCode to be (mostly) noise. I'm not even here to advocate for Emacs (although I love it). People want better usability? Fine.…

> There is no hard data out there.

MELPA has download-numbers. This is hard enouhg to give a rough impression on general package-usage. Looking at them, most people are doing software-work, markdown or enhance emacs itself. Even org-packages have only a rather low usage-number.

Which could mean the alternative usages of emacs are all with pre-installed packages or from other sources. Quite possible that there are million org-users who are happy with the basic setup und don't need additional packages from MELPA.

Re: Emacs is the 2D Command-line Interface

#87

Sometimes I think people trick themselves into thinking that all their fiddling with Emacs counts as part of their productivity. Don't hate on me. I use Emacs just about every day. I used to use Emacs as my go to editor for writing code ... and it almost worked. But it was never hassle free, and things often worked more poorly than I would have liked, or ended up requiring too much fiddling to get it to work right, o…

Use Emacs in simpler way like you use other editors and it will always work. Use it in complex way and you will stumble upon plethora of troubles. That is feature, not bug.

Haha... Good joke. But jokes apart, I've been using it to write book, refcards, blogs and programs I've never faced this 'feature'. In a proficient hand a good tool shines; Emacs ia no exception.

Re: Emacs is the 2D Command-line Interface

#88
post #48

Earlier quoted context omitted.

I've been hearing the "code is data" mantra often, but the reason I never thought this was a desirable property is that it seems trivial to define any number of languages as their own AST. But there is a good reason that we don't program by writing out ASTs - it's relatively hard to read and manipulate. Does the Lisp implementation just happen to be particularly readable?

LISP syntax is a data format. Unlike JSON though, its only structured data type is linked lists. `(a . b)` represents a linked list node (a pair or a `cons`) with the symbol `a` as first element and `b` as the second. The syntax `(a b c)` is a shorthand for `(a . (b . (c . nil)))`, with `nil` representing the empty list. It is commonplace to define what we nowadays call embedded DSLs using macros, which are just func…

> It is the first dynamic programming language, and arguably the most dynamic one. The only other non-esoteric language that comes close is PL/I, which also had macros and where every keyword could be redefined

REBOL/Red are on a similar level.

Re: Emacs is the 2D Command-line Interface

#89

Sometimes I think people trick themselves into thinking that all their fiddling with Emacs counts as part of their productivity. Don't hate on me. I use Emacs just about every day. I used to use Emacs as my go to editor for writing code ... and it almost worked. But it was never hassle free, and things often worked more poorly than I would have liked, or ended up requiring too much fiddling to get it to work right, o…

Could you name one thing that you use every day in PyCharm but that is not available in Emacs?

Re: Emacs is the 2D Command-line Interface

#90
post #37

The author is definitely right in saying that Emacs is an OS, because it runs "programs" that interact with a common datasource. The issue is that those "programs" are not the ones of your baremetal host. The sequel that makes sense would be a text editor that allows host programs to be run seamlessly on the text. Once again the geniuses behind Plan 9 have shown how novel their system was by creating acme ( https://w…

Its also a daemon that does a lot of work for me from the shell!

I meta-click to capture xterm output, call dired, make it give me popup-windows to edit short scripts and long command lines, i query the feed-reader, get my backup-schedule, have it popup for debrief when new voice notes are downloaded, serve as an emergency window manager, capture into multiple bins while browsing, turn into a presentation tool, create pdf reports and write-ups, prompt me to check-in any leftovers at the end of the day, work seamlessly across my machines, provide menus to give access to files, clickable functions, org-summaries, fantastic spreadsheets .. oh wait, that's going beyond shell.

so yes, it made my beard grey. big deal, i can shave. sure it not perfect, sure its infuriating, surely i'm insane for continually investing into my future while tweaking something to compound its benefits.

but none of this makes emacs anything but a lisp machine -- so well loved and so close to the metal that it will be here after you and me. Call it a general purpose computing shell, not an OS, and please compare it to the living, not the dead!

Post reply on HN