Live data from Hacker News

The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

emacsconf.org

91–100 of 162 posts

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#91
post #52

Earlier quoted context omitted.

Is there a benefit in using GPL for text editors?

Licences like MIT optimise individual freedom: they give each user the freedom to do anything including restricting the freedom of others . Licences like GPL optimise community freedom: they give each user the freedom to do anything except restricting the freedom of others . Think of it like local vs global optimisation.

MIT doesn’t give anyone the ability to restrict the freedom of others. When you fork a project and use a difference licence for it, the original project remains under MIT.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#92
post #81

I like the idea of a more modern Emacs that uses the full power of Common Lisp a lot, but I worry I'd miss a lot of features. Does Lem have org mode, a good LSP system, something like projectile, and the ability to display images and GUI buttons and such? And most importantly, does it have an evil mode with doom/spacemacs style leader key support?

Take a look at the GitHub readme[1]: “Lem supports other programming languages thanks to its built-in LSP client. You can choose between an Emacs and a Vim mode.”. Although I wish they’d explore the Kakoune/Helix style of editing too, which I think will become a major competitor to Vim (and I personally prefer it myself). However, I am also worried that Lem won’t gain any traction because the Emacs ecosystem is just…

Thank you! I actually found my way to its website and then downloaded, compiled, and briefly tried it after I posted this comment and discovered things for myself. It looks like it doesn't support a leader key so that's a pretty big blocker to me using it for even basic editing, but you're correct the bigger reason I won't use it is because it doesn't have the truly incredible emacs ecosystem.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#93
post #90

Earlier quoted context omitted.

I can understand wanting to restrict use of something a person created using a restrictive licence. I can’t understand being sad about someone else not restricting what they created. To me it looks like someone being sad after seeing someone else giving out free ice cream, even though the person being sad didn’t contribute to making the ice cream.

My view on the GPL is that it's freedom-preserving, like how a law forbidding the enslavement of people is freedom-preserving, even though it technically restricts a freedom. That's why I look more favourably on GPL software than software with a so-called 'permissive' license.

This and similar arguments in this thread work on the same logic that frames software piracy as theft. It’s the fallacy of treating software as a tangible thing that, when copied, is taken away from someone and altered irreversibly.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#94
post #87

Earlier quoted context omitted.

I think it's fair to say that most people don't need, or even want, their IDE/text editor to do a bunch of stuff that can be done with other programs. I know Emacs people like it (I was, at one time, an Emacs person), and that's great, but "can your text editor/IDE do a bunch of not-text-editor-slash-IDE stuff?" is a weird gotcha. Sometimes you want to buy your dessert topping and floor wax in separate cans, y'know?

Most people don't need or want all the UNIX tools' capabilities. Does it make sense to compare the Windows command environment with the Linux one and say "Don't include all these capabilities in the analysis?" > but "can your text editor/IDE do a bunch of not-text-editor-slash-IDE stuff?" is a weird gotcha. It's not a weird gotcha when dismissing the tool. If you want to artificially narrow the comparison to "writing…

> It's not a weird gotcha when dismissing the tool. If you want to artificially narrow the comparison to "writing SW" (which is even narrower than text editing), then by all means - VSCode is the superior tool. But why stop there?

One, I wouldn't have conceded the crown to VSCode so easily as that. A fine-tuned Emacs config, with the requisite muscle memory and custom elisp, is a hot rod. I do use VSCode, and before that Sublime, but it was under protest, the details don't matter here but there were features I needed and no task budget for provisioning them in Emacs.

Second, why not stop there? I have a program for reading my email, it isn't VSCode, I'm fine with that. So telling me Emacs can read email is completely irrelevant to my use of VSCode. For most people, adding all of these features to the Emacs side of the balance backfires, because now Emacs has to be better than all the tools they use for that stuff, rather than just better at what VSCode does than VSCode is.

"Emacs does everything" is an aesthetic, and it has many decades of refinement, and people like it. That's fine.

> Most people don't need or want all the UNIX tools' capabilities. Does it make sense to compare the Windows command environment with the Linux one and say "Don't include all these capabilities in the analysis?"

This isn't at all what you're doing. It's more like if someone says "awk is fine for text munging, why would I use Perl" and your answer was that Perl has a web server.

There's such a thing as a like-for-like comparison. Emacs has org-mode, it has SLIME, it has paredit and parinfer. Those are all edges over VSCode, whereas checking email isn't. This conversation piqued my curiousity, and indeed, there's a plugin for that[0], a few actually, and yes, I'm sure Emacs does a better job, for some value of better. But I'll never know, because I don't intend to use either tool for that job.

[0]: https://github.com/buhe/vscode-mail

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#95
post #81

I like the idea of a more modern Emacs that uses the full power of Common Lisp a lot, but I worry I'd miss a lot of features. Does Lem have org mode, a good LSP system, something like projectile, and the ability to display images and GUI buttons and such? And most importantly, does it have an evil mode with doom/spacemacs style leader key support?

Take a look at the GitHub readme[1]: “Lem supports other programming languages thanks to its built-in LSP client. You can choose between an Emacs and a Vim mode.”. Although I wish they’d explore the Kakoune/Helix style of editing too, which I think will become a major competitor to Vim (and I personally prefer it myself). However, I am also worried that Lem won’t gain any traction because the Emacs ecosystem is just…

Yes, I mean, I use all a lot of those things (haven't caught the org-mode bug tho, it's too incompatible with my attention-deficit...) but to be frank a lot of the stuff I jam into emacs (vertico, treemacs, projectile, all-the-icons etc) is in fact to get around UX issues with stock emacs.

I'd hope that a fresh emacs from scratch would just ship with something close to what those provide.

In the end my biggest beef with emacs these days is just the terrible lack of multithreading, bringing long pause and startup times. Most of my problems in the past have been rectified. Emacs 29 is really quite delightful and much easier to manage than ever before.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#96
post #87

Earlier quoted context omitted.

Most people don't need or want all the UNIX tools' capabilities. Does it make sense to compare the Windows command environment with the Linux one and say "Don't include all these capabilities in the analysis?" > but "can your text editor/IDE do a bunch of not-text-editor-slash-IDE stuff?" is a weird gotcha. It's not a weird gotcha when dismissing the tool. If you want to artificially narrow the comparison to "writing…

> It's not a weird gotcha when dismissing the tool. If you want to artificially narrow the comparison to "writing SW" (which is even narrower than text editing), then by all means - VSCode is the superior tool. But why stop there? One, I wouldn't have conceded the crown to VSCode so easily as that. A fine-tuned Emacs config, with the requisite muscle memory and custom elisp, is a hot rod. I do use VSCode, and before…

The reason some people, including myself, like to do things like email or irc or whatever inside emacs is because we got hooked on the powerful text and buffer management facilities in emacs, and want them everywhere, and consistently.

All these things we're talking include editors in their separate applications. They just use the default OS editor widget using CUA bindings or whatever. Pulling them into emacs turns that on its head, and brings with it all the power (and weirdness) that comes with that.

It's not for everyone, but it's also not something that it's fair to make fun of or dismiss outright.

In the end, what the emacs nerds are doing is remaking the world of Lisp machines, but compromised and/or modified for the environments we have now. Not everyone digs that. I kind of do.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#97
post #34

Earlier quoted context omitted.

I've been using Emacs for roughly three decades; it's my favourite editor. And for sure, LSP has been an absolute game changer. Worth noting is that LSP came from Microsoft as part of their efforts to build a better editor experience; and its integration with VSCode is largely unparalleled. For example: in VSCode the user doesn't have to understand how to install a language server, it just automagically suggests allo…

"savvy enough" for emacs these days for lsp is literally "M-x package-install lsp-mode" Earlier today I started up emacs in a C++ project after working exclusively in Rust, and I didn't have an lsp server for C++ installed. I did M-x lsp-mode and it prompted me (paraphrased): No language server for C++ installed, do you want me to go get one for you? Options are: clangd. Sure, said I, and it just went and installed i…

First you have to know that lsp-mode exists. VSCode just detects what to do from the file.

About projectile: Emacs ships with project.el and that does 90% of what projectile can do.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#98
post #70
post #14

Earlier quoted context omitted.

Same. The live demo at the end was very effective at spiking more interest, as well.

Really? I find that the one really good design decision that survived in GNU emacs over all these years is that it does not have dialog windows. But it seems that that's pretty much what Lem does, at least when you find a file?!

I'm assuming that is something you could get rid of, if you want. It was more the popping over to the repl of the editor that I found fun to watch. And the fact that it was working.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#99
post #97

Earlier quoted context omitted.

"savvy enough" for emacs these days for lsp is literally "M-x package-install lsp-mode" Earlier today I started up emacs in a C++ project after working exclusively in Rust, and I didn't have an lsp server for C++ installed. I did M-x lsp-mode and it prompted me (paraphrased): No language server for C++ installed, do you want me to go get one for you? Options are: clangd. Sure, said I, and it just went and installed i…

First you have to know that lsp-mode exists. VSCode just detects what to do from the file. About projectile: Emacs ships with project.el and that does 90% of what projectile can do.

I'm sorry maybe this has improved in the two years since I tried but the last time I tried to set up VSCode to even approach the capabilities of CLion (the tool I used most at the time) it required a whole bunch of configuration, and stuff that felt more brittle and confusing than the emacs setup I have now.

In particular, no, it did not do all the LSP stuff out of the box, and didn't do basic refactorings out of the box either. Maybe it does so for other languages? Or maybe they've fixed the UX? But I recall having to install at least two or three plugins. And along the way found some that fought with each other.

Re: The Emacsen family, the design of an Emacs and the importance of Lisp (2023)

#100

Earlier quoted context omitted.

> It's not a weird gotcha when dismissing the tool. If you want to artificially narrow the comparison to "writing SW" (which is even narrower than text editing), then by all means - VSCode is the superior tool. But why stop there? One, I wouldn't have conceded the crown to VSCode so easily as that. A fine-tuned Emacs config, with the requisite muscle memory and custom elisp, is a hot rod. I do use VSCode, and before…

The reason some people, including myself, like to do things like email or irc or whatever inside emacs is because we got hooked on the powerful text and buffer management facilities in emacs, and want them everywhere, and consistently. All these things we're talking include editors in their separate applications. They just use the default OS editor widget using CUA bindings or whatever. Pulling them into emacs turns…

> not something that it's fair to make fun of or dismiss outright

I took pains not to do that in either post I made.

Post reply on HN