Live data from Hacker News

Making Emacs Popular Again (2020)

lwn.net

351–360 of 420 posts

Re: Making Emacs Popular Again (2020)

#352

Earlier quoted context omitted.

> Some IDEs that can semi-compile the code (to something like an AST) can provide a lot more support for refactoring correctly. Plenty of Emacs plugins invoke a compiler, language server, whatever to get information about the code. That isn't a feature unique to IDEs.

For example, in C++ in Visual Studio I can click on a class member variable or method and rename it and the IDE will rename all uses of that variable or method and not get confused about other classes with the same name. struct Foo { std::string name; int age; }; struct Bar { std::string name; double weight; }; Foo f1 = ...; Foo f2 = ...; Bar b = ...; std::cout In the code above I can select "name" on the last line a…

You use clangd and get it (as part of lsp-mode).

Re: Making Emacs Popular Again (2020)

#353

Earlier quoted context omitted.

> What is Emacs really? It's a virtual Lisp machine with a standard library for writing graphical text applications. If you substitute Javascript for Lisp, doesn't that describe Visual Studio Code pretty well? So now there's a product that leverages the architectural advantages of Emacs, with modern defaults across the board.

> If you substitute Javascript for Lisp, doesn't that describe Visual Studio Code pretty well? Almost, but not quite. VSC doesn't give you javascript access to the internals of the application, it just provides a fairly broad set of extension APIs. You can see this in how the VSC equivalent of rainbow-delimiters-mode (parentheses and brackets recolored based on their nesting depth) had to be rewritten as part of the…

Emacs is not that much different there with it's C-core and lisp-land. It had even a similar case with the reimplementation of linenumber-mode in C for performance-reasons. The question is more what emacs can offer generally that vscode is lacking in ability, even just theoretically. Because in reality there are of course many features not implemented yet in vscode.

Re: Making Emacs Popular Again (2020)

#354

I have realized recently that a value that is gaining a lot of importance for me is the stability of my cognitive investments, in terms of tooling, across a time frame that goes beyond my "current project", and more into the "my entire career" territory. In that sense, I feel more and more that the choice of learning and owning Emacs, more than 20 years ago, while in school, has paid off tremendously, in the sense th…

The way I usually put it is you have a choice: learning your tools in depth or relearning old skills each time your tools tools. I decided upon the former and firmly believe it was the right decision.

That being said, there is a cost. Tools that adapt with the times try to reduce the effort needed to get contemporary tasks done. Stable tools tend to reflect the times in which they were created (or at least peaked), meaning that it may take more effort to get things done in the here and now. Unfortunately, Emacs is very much a reflection of this.

Re: Making Emacs Popular Again (2020)

#355

Earlier quoted context omitted.

> Some IDEs that can semi-compile the code (to something like an AST) can provide a lot more support for refactoring correctly. Plenty of Emacs plugins invoke a compiler, language server, whatever to get information about the code. That isn't a feature unique to IDEs.

For example, in C++ in Visual Studio I can click on a class member variable or method and rename it and the IDE will rename all uses of that variable or method and not get confused about other classes with the same name. struct Foo { std::string name; int age; }; struct Bar { std::string name; double weight; }; Foo f1 = ...; Foo f2 = ...; Bar b = ...; std::cout In the code above I can select "name" on the last line a…

Such renaming is part of the LSP protocol, so any LSP supporting editor (Emacs, nvim, etc.) will support this as long as the used language server does. I can do this with clangd and Emacs, but it's not Emacs specific anymore.

There may still be some gap with some very advanced integrated IDE support, but the LSP ecosystem is still evolving and getting there. Which is not a surprise as Microsoft designed it for VS Code. The difference now is not so much between an IDE and a given editor, but between and IDE built-in language support and LSP servers for a given language. For C/C++ the progress of clangd is real over a few years, and it's very usable now.

Re: Making Emacs Popular Again (2020)

#356
post #244

Earlier quoted context omitted.

Having worked in F1 that's entirely wrong. A Honda Civic will not even beat a F1 car in the first gear, which goes up to 180km/h. With an unlimited engine of ~24k rpm and a chassis which sucks around each curve nothing can be compared to a F1. If there are curves. On a straight track there are faster cars for about 4 seconds, but then the F1 overtakes. Our usual estimate was that everything in a F1 car was about 1000…

You're really claiming that an F1 will beat a Civic on a gravel track? Or perhaps you misread? How about in the snow? How about a road with random 2-inch-high debris? How about a road with lanes of uneven pavement? And how's that air conditioning in the F1? Great for transporting kids too. The F1 is designed to do exactly one thing exceptionally well, at the expense of practically everything else. It is the opposite…

Gimme an F1 chassis and i'll put tractor tires on it for the snow. I'd be delighted to give it a try. I'm sure my mechanic buddy would help for the giggles too.

Re: Making Emacs Popular Again (2020)

#357
post #350

I've used full Emacs and Emacs style editors (mg, jove, epsilon) for over 40 years and programmed in LISP for longer than that. In the 1990's it was evident that Emacs was in decline. For a couple of years, I used Vi because IBM's lawyers were afraid of the GPL; during that time I found Vi to be a superior text editor than Emacs. Sometime in the late 80's, Emacs and the GPL were accepted by IBM's planners, and I swit…

I was nodding along to your recount until your recommendation for a new extension language. It wasn't your selection of language that rankled so much as the cavalier manner in which you suggest it. Replacing elisp with, say, javascript is tantamount to rewriting nearly all of emacs, a product of 40 years (although presumably fewer man-years).

Re: Making Emacs Popular Again (2020)

#358
I didn't start using emacs until (1) hardware became fast enough to run evil-mode with low keypress latency (because vim uses key sequences rather than chords and I type fast), and (2) Spacemacs. I switched to Spacemacs before there were a neovim, and if it weren't for spacemacs, I would have ended up with neovim instead.

I have not had time to really dig into the code and customize my editor. I installed Spacemacs, some layers, and know just enough to keep the things I am used to there (such as layouts), and that's pretty much it. I really enjoy how Spacemacs organized things, and it has made it much easier to learn.

I still typically use vim for quick-editing config files on remote systems.

Re: Making Emacs Popular Again (2020)

#359
post #168

Earlier quoted context omitted.

This is something I wish someone had told me 20 years ago when I first started using emacs. The whole "it's a text editor, but also it's not really a text editor"-thing was very confusing initially. ... Although, now that I think about it, being told this mind-blowing revelation about the emacs nature might have confused me even more. What I love about emacs is that I have a variety - an extensible variety! - of prog…

You just succinctly described why my annual attempts to learn Emacs never actually go anywhere. As much as I like the idea of an all-purpose text processor construction kit, even with "starter kits" I spend a week trying to configure various languages to a point that I'm happy, find myself copying, pasting and tweaking Lisp code, invariably find weird conflicts that lead me to do web searches (which may find more Lis…

Does that include Spacemacs? It didn't take me a week to get up and running from switching from vim.

Re: Making Emacs Popular Again (2020)

#360

I've been using emacs as my primary editor since 1989. It has for that entire time been a PITA to configure. My first customization was to map backspace to ^H and map the insert key to 'nil. I used to dedicate a couple days every January to investigate new emacs tools. Read about the latest features or new modes, often from my org-mode TODO list where I bookmarked them. I have learned to never update emacs mid-projec…

> VSCode has a healthy extension marketplace, something emacs should adopt. What’s wrong with MELPA?

Yeah, MELPA is solid. Great, even.
Post reply on HN