TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Emacs Is Not Enough

151 pointsby lycopodiopsidaover 2 years ago

25 comments

taericover 2 years ago
I can&#x27;t but reflect back on another post I made today, which is that everything fails at scale. Literally everything. They just fail in different ways and made different tradeoffs along the way.<p>For example, this is why I find myself using &quot;print&quot; debugging on a process of 10^4 values. It is fun to think that, &quot;maybe I can step debug this&quot; on that many values, but... that is well beyond my capability to keep it in my head, such that any help the debugger gives is added to zero. Which... is not good.<p>That is, complaints that ridiculously large forms cause issues in a debugger seem... pointless? Lets say you managed to keep that from crashing, do you actually have a way to make it workable?<p>Don&#x27;t get me wrong, if folks are constantly opening JSON files that are gigabytes in size, it makes sense to focus on that and make sure it doesn&#x27;t crash. I just, can&#x27;t imagine what benefit you get from opening an X gigabyte file. I can&#x27;t even see what the advantages of opening an X megabyte file are. That is literally beyond my brain power.<p>So, looking to rewrite an emacs is always one that strikes me as a huge risk of throwing the baby out with the water. There is more than a fair chance that what you like about the current setup is a necessary implication of choices that you think you don&#x27;t like.
评论 #34378198 未加载
评论 #34378595 未加载
评论 #34379122 未加载
评论 #34378465 未加载
评论 #34381026 未加载
评论 #34379405 未加载
评论 #34378553 未加载
LanternLight83over 2 years ago
I&#x27;ve been working obsessively on a trivial and currently private emacs package, for a while now, and (having not read the article, yet) would concur with the idea that Emacs is great, there&#x27;s little else like it, but it&#x27;s also not enough; the promises that it makes (re: freedom to the user, access to internals via elisp, etc) are not fulfilled. It goes a great ways towards delivering it&#x27;s promises, and casual users will feel the freedom it gives them (great things can still be done with it! Miles ahead of anything else!), but that just makes the walls all the more frustrating when you hit them. No specifics, but I do find the performance situation and the elisp and rendering implimentations to be at the center of my gripes. I am young enough to hope to see, and perhaps even contribute to, a successor to the Emacs philosophy.
woolionover 2 years ago
It would be interesting to have such a general project go somewhere.<p>While in principle structural editing sounds like an incredible advance, there are &#x27;good enough&#x27; advantages to plain-text tools that make it a much more practical solution. The other issue is of course integration with existing tooling, which you either skip entirely or compromise on the design.<p>What I feel is missing, between the description of &quot;old, bad state of things&quot; and &quot;utopian vision&quot; is a review of some of the projects that already tried to achieve this ideal state. It turns out there are a number of them, and most of them failed to achieve any traction or impact [0].<p>The rants are very long, so I skimmed quickly the one about git; I understand the complaints, although git is only bringing me joy and no pain --interactive rebase, absorb and a few aliases made it a breeze. But in a similar fashion there are projects trying to solve its fundamental issues, like pijul(.org); what are they missing?<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;yairchu&#x2F;awesome-structure-editors&#x2F;blob&#x2F;main&#x2F;README.md">https:&#x2F;&#x2F;github.com&#x2F;yairchu&#x2F;awesome-structure-editors&#x2F;blob&#x2F;ma...</a>
评论 #34379505 未加载
avgcorrectionover 2 years ago
I never cared about structural editors because the argument always seemed to be that being able to ruin the parse (going from a state where it parses to one where it doesn’t) with your editor is bad. Because I don’t care: I want the supreme flexibility of going from state A to B through some ill-formed textual editing much more than I want to be protected from ending up in a bad parse state, since syntax errors are one of the more simple things that a programmer has to deal with.<p>But I am perfectly willing to embrace structural editing if it makes editors much, much more efficient and less complex (e.g. you don’t need to cache things).<p>Maybe things become “janky” because many of us are a bit too good at limiting source files to at the most 1K lines, so we tolerate the minor hickups that we encounter?
评论 #34378946 未加载
eatonphilover 2 years ago
I&#x27;m not an emacs power user. I use emacs solely.<p>Compared to me the author <i>feels</i> like a power user of emacs (or was one) and is making broad arguments against the existence of people like me: not power users.<p>I&#x27;ve never run into these issues they talk about and I don&#x27;t really know elisp.<p>Mostly, over vim, I just like chord editors more than modal editors. If a more modern terminal-based chord editor came out I&#x27;d try it.
评论 #34380223 未加载
roenxiover 2 years ago
When reading this article, I think there is an interesting parallel to be made with Firefox.<p>Emacs has questionable technical underpinnings. It is an old project; they&#x27;ve all learned a lot since the 1970s. ELisp wouldn&#x27;t be built that way today, it wouldn&#x27;t be written in C, it&#x27;d be designed with keybindings for a modern keyboard - probably cloning vim. Break from Emacs tradition and build something that is good at editing text maybe.<p>Firefox faced a similar challenge from modernity with changing security and performance demands. But they chose to remove XUL killed off their own extension ecosystem and put them in a permanent &quot;Chrome but worse&quot; category that they have been unable to escape from.<p>In some ways it is impressive that Emacs has managed to avoid being killed off in a massive rewrite attempting to chase other text editors. The temptation much be there, it has a lot of deficiencies. But it is a unique and rewarding piece of software for anyone who wants what it does.
评论 #34379369 未加载
评论 #34379564 未加载
ggmover 2 years ago
The entire article comes down to this quote:<p><pre><code> WHY IS EVERYTHING SO JANKY AF?</code></pre>
评论 #34378326 未加载
评论 #34378196 未加载
veltasover 2 years ago
&gt; And then there are the floaters, the passers-by. They judge Emacs solely by its features. &gt; But that&#x27;s not how a power users judges it. Instead, the power user judges a piece of software by what power it provides and what he could do with that power to help himself.<p>In that case I&#x27;m not a power user. I tried using emacs for a good amount of time, probably about a year of wall time has been spent with me using emacs as my primary editor. I installed a few packages, and never tried to script anything myself. My issues with emacs were not easily scriptable.<p>Although all-in-all, I didn&#x27;t find emacs particularly lacking in features compared to vim, which is my preferred editor.<p>In the end I stuck with vim because it&#x27;s slightly less clunky in my very subjective experience, and I am faster with it. And it is visibly slow, even if you set up an emacs server (&quot;what is a text editor &#x27;server&#x27;?&quot; I can hear vim and nano users muttering).<p>Rather than just s**ing on emacs I want to present the things that I did like about it, compared to vim:<p>- The ability to quickly cycle through recently yanked&#x2F;cut things. It&#x27;s possible to do this on vim, but nowhere near as easily as M-y. - Keyboard commands are universal and not modal, so I don&#x27;t need to learn two totally different sets of commands for simple movement and editing. - Keyboard commands are also available in many prompt-based tools like bash, gdb, and many REPLs. Don&#x27;t tell me about vi-mode in bash unless you actually use it and like it.
lycopodiopsidaover 2 years ago
I&#x27;ve found the emacs rant itself amusing, since it is a very old piece (slightly younger than me) and gargantuan piece of software, and it shows. On the other side, it is still the most extensible and moddable editor out there and its crown juwels (org, magit) are unmatched.<p>As for the project itself, I remain sceptical. Partly because I do not see how it would be more amazing for general text-editing tasks than emacs&#x2F;vim + tree-sitter, partly because it is written by an adept of a language which is since decades more known for rants about programming than for delivering amazing software for end-users.
评论 #34380154 未加载
jrm4over 2 years ago
I merely skimmed this article because I personally don&#x27;t care or much about the details, but also because <i>I completely and fully understand his pain.</i><p>I&#x27;ve done quite a bit of the &quot;searching for the perfect system,&quot; including doing Emacs + Org Mode for a few years.<p>I ditched it because I do like a lot of modern tools, and today I use a <i>ton</i> of little scripts and hacks, mostly around zim-wiki, but what I think the author is getting at is more-or-less the &quot;hypercard&quot; thing.<p>Namely, it could and should be far easier to cobble together systems of programs as individuals that work together and that don&#x27;t strongly separate &quot;user&quot; and &quot;developer.&quot;<p>(aka screw GNOME? :) )
mmargerumover 2 years ago
All I can say is &quot;Glamorous toolkit&quot;<p><a href="https:&#x2F;&#x2F;gtoolkit.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gtoolkit.com&#x2F;</a>
评论 #34380275 未加载
herewulfover 2 years ago
More recent follow up discussion: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34380373" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34380373</a><p>This whole thread was a great read and since I have many times benefitted from finding gems like this on HN through a search engine well after the fact, hence leaving the link above.
Gollapalliover 2 years ago
I very much like this article. I especially like the comparison to TempleOS. I think Terry Davis blew computing wide open. That is what a personal computer can do, when it’s treated as an instrument instead of an appliance, and the user treated like the player of said instrument, instead of a child in a china shop.<p>Imagine if you could plug your guitar into a computer, have that audio file, be a widget in a buffer, and then, pass it to other functions just like any other object, process it using, idk, map(car), and then sync it to a video using list functions, maybe with different implementations for the data structures under the hood. Or if you could make a game, modify it while you’re playing it, share that game as an image with a friend, and have them open it up, interact with it the same way they do with every other data structure from email to org mode.
评论 #34376376 未加载
评论 #34379484 未加载
评论 #34378879 未加载
pjmlpover 2 years ago
XEmacs was a great replacement back when UNIX environments were found lacking in IDE offerings.<p>I still have muscle memory for the stuff I used between 1995 and 2005, across various UNIX commercial workloads.<p>Nowadays thankfully all the environments I care about have quite good IDE support in some form, while Emacs experience at its core has hardly core, although it is much better than in the XEmacs vs Emacs days.
some-mthfkaover 2 years ago
Hi! I am the author. I will be glad to answer any questions.<p>First of all, I don&#x27;t want another Emacs rewrite, much less in Guile. Mixing languages is not good for power-use, which requires ease-of-use, or at least conceptual simplicity. I talk more about it in the article in the <i>Project&#x27;s Philosophy&#x2F;Homogeneity</i> section in [1] The Power of Structure.<p>I am proposing we need to really start considering a different paradigm, and attempting to do it right, and that&#x27;s structural editing. People are wondering if it&#x27;s possible to be writing better structural editors. We all know there have been attempts to do those, and, well, lo and behold, those were janky too.<p><i>But they don&#x27;t have to be.</i> When people start thinking of structure-editing, they immediately jump to the &quot;how do we do C++&quot;. Well, in fact, I could tell you how we could do exactly that: you could start small. You start with what you know. And you know that you could, say, start with structuralizing the {} brackets. That&#x27;s a semantic unit. So, that&#x27;s a start. Even without getting down to the compiler level.<p>But I am not arguing I am about to do wonders for something as complex as some mainstream langauge in terms of a structural editing. I believe it can certainly be attempted, though, and certainly improved, peacemeal. And what you can&#x27;t do: mix it with the traditional string-based editing. Or take python: that one would structuralize pretty nicely by indentation. Would it accomplish everything? No. But it would certainly help.<p>The gist of it boils down to the fact that you don&#x27;t need to start at that very complex level, you can do things piecemeal and still get many benefits. Ask yourself this: can you edit a &#x2F;list&#x2F; structurally, i.e. edit like in a string-based editor while maintaning an actual list behind the scenes? Sure, you can. A tree? Absolutely. Look at Paredit.<p>THERE&#x27;S NO REASON FOR THAT TO BE JANKY. NO reason why that wouldn&#x27;t work.<p>It can absolutely be done.<p>And, really, structural editing like I am proposing &#x2F;subsumes&#x2F; string-based editing, because you can just write a specialized editor for general strings, and use that for things you don&#x27;t know how to structure yet. And yet, even those string-based editors can be specialized further, as some semantic units like words, expressions and even characters are often immediately apparent.<p>What does that give us? At the very least: object identity and programmatic access, and having the ability to pick your own data structure.<p>This kind of small things are what&#x27;s actually going to be very useful for stuff like note-takers and computational notebooks and REPLs and what not. We don&#x27;t need to start with programming languages (though I am going to do a Common Lisp IDE).<p>Please, ask me anything! Let&#x27;s talk!<p>PS Another very important point is that ambiguity can be localized. Look at the Alchemy section in [1] where I discuss dealing with the reader (but I also talk about it in <i>Rune</i>).<p>PPS And thank you for posting this. It&#x27;s exciting to be reading comments. Truly.<p>[1] <a href="https:&#x2F;&#x2F;project-mage.org&#x2F;the-power-of-structure" rel="nofollow">https:&#x2F;&#x2F;project-mage.org&#x2F;the-power-of-structure</a>
评论 #34379849 未加载
评论 #34379448 未加载
评论 #34379449 未加载
评论 #34382671 未加载
评论 #34384456 未加载
评论 #34380000 未加载
评论 #34379814 未加载
评论 #34380329 未加载
_a_a_a_over 2 years ago
What a strange, whiney article.
puffybufover 2 years ago
After 25 years my dot emacs is _only_ 1000 lines.
评论 #34379050 未加载
hajovontaover 2 years ago
so... instead of contributing, why not rewrite the whole thing? ok that would certainly help<p>&#x2F;s
steponlegoover 2 years ago
They&#x27;re going to try to ruin emacs like they are with x.org. It&#x27;s inevitable. Too many people want it gone. It&#x27;s too good.
评论 #34378206 未加载
kkfxover 2 years ago
Others and I without digging that much have expressed something similar, i.e.<p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;so7os8&#x2F;notdeft_notes_manager_with_xapianefficient&#x2F;hw7opus&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;so7os8&#x2F;notdeft_notes...</a><p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;speq69&#x2F;uomf_pathindependent_links_to_local_files_via&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;speq69&#x2F;uomf_pathinde...</a><p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;zl8nfa&#x2F;is_there_something_like_org_roam_but_for_files&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;emacs&#x2F;comments&#x2F;zl8nfa&#x2F;is_there_some...</a><p><a href="https:&#x2F;&#x2F;takeonrules.com&#x2F;2022&#x2F;02&#x2F;26&#x2F;note-taking-with-org-roam-and-transclusion&#x2F;" rel="nofollow">https:&#x2F;&#x2F;takeonrules.com&#x2F;2022&#x2F;02&#x2F;26&#x2F;note-taking-with-org-roam...</a><p>The long story short is that we need something to process text automatically in easy to compose and easy to query ways. Emacs peoples mostly hate databases, and SOME DB models are strict, hard to keep bending, graph DB have not succeed so much so far, so it might be ad unsolved problem, a VERY OLD one, let&#x27;s say:<p>- ~612 BC Ashurbanipal of Nineveh cataloguing system<p>- ~245 BC Callimacus Pinakes cataloguing system<p>- ~1545 libraries of Babel by Conrad Gessner<p>- 1673-94 Gottfried Wilhelm Leibniz, Scrinium Literatum<p>- ... to the Mundaneum (Paul Otlet&#x2F;Henry La Fontaine)<p>- ... to the web first concept, the search engine concept<p>...<p>Natural language is not much computable directly, some modern ML tools try to work on it, some classic algorithms try to do the same, most results are not much good at small scale, they are just good at very large scale for very limited results.<p>But the point of Emacs is another, is the LispM concept, witch was also the Xerox PARC Smalltalk workstations concept: as we need ways to act on text with automation so we need OSes as a single application, where the source is live, changeable, where anything is a function the user can use anywhere so that if I have a CAS on my desktop I can solve and ODE with it inside an email and link the email in a paper.<p>Old systems was limited by the tech of their time, Emacs by the size of its community and the burden of legacy it have, but they show a starting point that&#x27;s effective. The rest is still to be invented, implemented and done. NO OTHER TOOLS so far have proven to be better in general so...
Woodiover 2 years ago
Agree at all but bashing &quot;representations&quot; and APIs seems strange and asking for troubles.
pvaldesover 2 years ago
But it is such a perfect place to start, my love
distantsoundsover 2 years ago
this article is hilarious because the vim csv plugin &#x27;just works.&#x27;
评论 #34384420 未加载
评论 #34379843 未加载
personomasover 2 years ago
TLDR?
评论 #34378177 未加载
评论 #34384856 未加载
cutlerover 2 years ago
TLDR - Emacs sucks.