Live data from Hacker News

Bare Metal (The Emacs Essay)

waxbanks.wordpress.com

11–20 of 125 posts

Re: Bare Metal (The Emacs Essay)

#11

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

What? Emacs has eglot built in. It has had native grep and find stuff for decades.

https://www.gnu.org/software/emacs/manual/html_node/emacs/Gr...

You can change the exec-path to point to your cross compiled grep tool --- or you can change the command string to your tool of choice.

Re: Bare Metal (The Emacs Essay)

#12
post #5

Earlier quoted context omitted.

Why not instead blame Windows for not having the standard tools “grep” and “find”?

The criticism makes sense when you consider that yeah, while posix tools are okay, needing them everywhere means you have something wrong in your programming ecosystem, and Elisp has many things wrong.

Emacs can easily work with non-posix tools. Many people use ag, ripgrep, or ack in lieu of grep. You change the command string Emacs uses for finding and grepping to your tool of choice.

Re: Bare Metal (The Emacs Essay)

#13

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

I think the mistake is looking at Emacs as an editor. It's an Emacs Lisp VM, and the editor that comes bundled with it is good, but not great. Fortunately there are many ways to improve it, and make it go beyond what other editors can.

Re: Bare Metal (The Emacs Essay)

#14
post #11

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

What? Emacs has eglot built in. It has had native grep and find stuff for decades . https://www.gnu.org/software/emacs/manual/html_node/emacs/Gr... You can change the exec-path to point to your cross compiled grep tool --- or you can change the command string to your tool of choice.

I think for grep in emacs, the only thing require is the interface:

- result on standard output - path and line numbers on each line

A lot of emacs reliance on other tools follow the same pattern. While the default is posix, it has enough options to twist it to fit whatever OS.

Re: Bare Metal (The Emacs Essay)

#15

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

Emacs isn’t battery-included. It’s a platform for textual interfaces with a focus on text editing. It may not includes some tools, but if the tools works with text (at least on the standard in/out) hooking it in emacs can be done really quickly. More so if it’s something that:

- have result that can be formatted in a tabular fashion

- do stuff with files then present some diagnostics (especially if errors and warnings are related to the files)

- Have an REPL interface

It’s not preconfigured like VS Code, but it’s much more versatile. Cursor having to fork VSCode is one such example. In Emacs, anything is just another package.

Re: Bare Metal (The Emacs Essay)

#16
To me the charming thing about Emacs is how introspective a program it is. This goes beyond all the documentation being built-in, and being able to redefine things on the fly. For instance, it's easy to define a keybinding that does "Take me to the source code of the command that's bound to the next keybinding I type". When you use that and land at a destination, it will probably be Elisp code, but in some cases will even be C code - it works either way.

Re: Bare Metal (The Emacs Essay)

#17
post #5

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

Why not instead blame Windows for not having the standard tools “grep” and “find”?

UNIX standard tools, and not every operating system is supposed to be a UNIX clone.

There are ways to search and grep files on Windows.

Re: Bare Metal (The Emacs Essay)

#18

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

Define modern.

IDEs with such capabilities were already available in the 1990's.

I became an XEmacs user in the 1990's, because there was hardly anything better in UNIX systems.

Remember, Emacs still lacked many niceties only available on XEmacs, and vim was yet to be invented.

This is how old such IDE features have been available.

Re: Bare Metal (The Emacs Essay)

#19
This essay is amazing and delightful, but it is rather densely allusive, like classical Chinese literature; ultimately it is more allusion than plain language. I suspect that most people will find it somewhat impenetrable. But if you want to see Emacs explained by references to Dune, Harry Potter, Gormenghast, Star Wars, A Rape in Cyberspace, Neuromancer, The Matrix, Crowleyian magick, and so on, this essay is for you.

Ultimately such storytelling seems to be the best means that we as humans have to convey our subjective experiences, which purely objective descriptions are not very good at. (This is one of the weak points of the engineering mindset that I was criticizing in https://news.ycombinator.com/item?id=45650941.) So I sympathize with the project. But I wonder if it may end up preaching to the choir a bit: if you remember the intoxication of reading Barlow's Declaration of Independence, probably you already have a settled relationship with Emacs, whether intimate or traumatic, or both?

Re: Bare Metal (The Emacs Essay)

#20

While I still use emacs, I find that that despite the "batteries included" narrative about emacs, the things which are not included are causes of major frustration. Such essential functionality like grep-find and LSP servers which is required for out of the box auto complete are not bundled with emacs. Most modern IDEs/editors have these functionality baked in. If you install emacs for windows you find that grep-find…

I've never used grep-find or LSP, despite using Emacs for 32 years. Maybe I should; is grep-find better than M-x grep?

Apparently I've sometimes improvised an equivalent: "Run grep via find, with user-specified args COMMAND-ARGS. ... This command uses a special history list for its arguments, so you can easily repeat a find command."

My out-of-the-box autocomplete is M-/, which works in environments where LSP doesn't, like writing English. It works sort of poorly in all of them, but I write production code slowly enough that my typing speed isn't close to being a bottleneck. It's more of a bottleneck when writing English, but even there, generally any of my good writing was good rewriting.

Where I've found LSP-like functionality really useful in the past in IDEA and later Eclipse was not autocomplete, which is mostly an annoyance, but in automated refactoring (extract variable, extract method, inline method) and in rapidly iterating through the implementors of a method whose semantics I'm changing.

Post reply on HN