5 ms·
The farther away you move from the editing functionality, the more bugs start showing up. I’ve fallen into something of a cycle of adding packages until I’m an
by comfypotato 4y ago
The farther away you move from the editing functionality, the more bugs start showing up.
I’ve fallen into something of a cycle of adding packages until I’m annoyed by things breaking which results in me cutting back down to the basics.
I’m always amazed, once I get back to bare emacs and mostly elpa packages: everything works so well.
- doesnt_know 4y agoIf you start using an extendible tool like Emacs for something and put in the effort to learn it's key bindings, how it works, it's language if it has one etc it becomes increasingly annoying and a chore to use other software. You either start trying to cram every possible task into that tool or try to find other software that was developed specifically for users of that tool (eg: Nyxt and Qutebrowser). It feels like a very natural thing to do at the time even if it sometimes results in subpar results like what you're describing. I've personally declared "Emacs bankruptcy" multiple times and even go through periods of completely changing workflows if I get annoyed enough.
- taeric 4y agoI mean, this is true of all computing? My phone works rather well, and then I see all of the crap family adds to their phone. Then I'm shocked it works. Same for computers at large. Let parents or kids install whatever, and expect woes. Emacs can feel worse, in this regard; but, I for one love how open it is to extend. Literally a defun and you've extended it.
- Jtsummers 4y ago> Emacs can feel worse, in this regard; but, I for one love how open it is to extend. Literally a defun and you've extended it. Which is how all (or at least most) of our computing systems should work. The inability to easily extend programs is what leads to the "need" to replace them so often with other programs that satisfy unmet needs or capabilities. Which ends up mostly creating churn, not value or utility.
- otabdeveloper4 4y agoEmacs Lisp is probably the worst language for "programming in the large". (After Javascript.) Sorry, but it has to be said. Using a more sane language would cut down on the bugs and dependency problems in Emacs in a huge way. P.S. Been using Emacs for over 25 years.
- ernst_klim 4y ago> Emacs Lisp is probably the worst language Strongly disagree. With lexical bindings it's on par with contemporary strongly typed dynamic languages like python. It does even have fancy pattern matching with pcase library built in, plus lots of fancy stuff for editing like thing-at-point.
- ramin_hal9001 4y ago> Emacs Lisp is probably the worst language for "programming in the large". (After Javascript.) But unlike JavaScript (and Node.js), I don't know of anyone who uses Emacs out of the belief that Emacs Lisp is a language with which they should be building large-scale applications. It is strictly a client-side language and it is used as such. In fact, Emacs Lisp is actually a pretty good client-side language. Not that it is perfect, but I find it more enjoyable to use than JavaScript.
- worthless-trash 4y agoI strongly disagree, it is just a lisp. It seems very suited for the job, is there any other competitor who has stood the test of time (I dont just mean this years fashion chrome wrapped editor) with as many extensions ?
- otabdeveloper4 4y agoIt's not "just a lisp". It's actually a really, really shitty and outdated lisp.
- worthless-trash 4y agoI am unsure that 'outdated' applies to a language.
- serf 4y agothat's an extensibility symptom. every single game with 'mods' has the same issues that the vast majority of extensible applications have. the core developers (hopefully) care and understand about the cost of a cycle, whereas the mod/extension developers tend to care only about how their addition works and expresses itself to the user. the mod/extension developers (generally, not in the case of foss projects) usually lack the scope to understand how their coding decisions affect the rest of the code base, or in the worst cases they lack the understanding needed to optimize something to the point of usability -- so they achieve their small purpose by any means possible, often times in fairly brutish manner, which kills app performance all together.
- TacticalCoder 4y ago> I’ve fallen into something of a cycle of adding packages until I’m annoyed by things breaking Dependency hell is very real and doesn't just affect Emacs. I simply version my entire Emacs (back since when Mercurial was a thing) config so any SNAFU that'd happen when I try a new package is one checkout away: I just reset to the last known good state and call it a day (for that package). I've got about 3 000 lines of custom elisp code and everything works fine. I don't disagree that bare Emacs and Elpa works well. Now that use-package is shipped with Emacs I eventually switched to it. Took a while but it's been smooth sailing. I really heartedly recommend people to version their entire Emacs config in Git. Some shall go further and recommend to version your entire home directory for that matters. Or to use something like Nix. I'd say any of these options is fine as long as "going back to the last working config" is one command away.
- gpderetta 4y ago> I simply version my entire Emacs [...] config ;; -*- eval: (git-auto-commit-mode 1) -*- For the win.