6 ms·
The more I learn about emacs the more I feel we took the wrong fork on road in terms of the desktop metaphor decades ago.
by sim04ful 11mo ago
The more I learn about emacs the more I feel we took the wrong fork on road in terms of the desktop metaphor decades ago.
- nine_k 11mo agoEmacs is great for people who are fine tinkering with their tools, and adjusting them to their needs and tastes. Emacs improves my quality of life quite a bit. A lot of people hate that, they want a tool that has all relevant to their tasks front and center, all irrelevant invisible or nonexistent, and zero options to tinker with. It should just work, and preferably never change. A middle ground are the browsers that just work out of the box, but can be heavily customized by extensions. MS Office is another example.
- omnicognate 11mo ago> A lot of people hate that It seems a curious attitude for a developer, though. My curiosity about how things work and the joy I get when I make a computer do the specific thing I want it to do for me are the reasons I program for a living.
- fhd2 11mo agoCompletely agree. At the same time, I'd wager a good chunk of developers isn't really in it for a love of computers and tinkering. Not a bad thing per se, just my observation.
- Karrot_Kream 11mo agoLife is full of decision points. It is very understandable to use your decision budget on things that matter, like your projects or your job or your money, than things that don't like an editor config. Over my decades of emacs use I've had periods of crazy tinkering and conversely years of doing nothing.
- bodge5000 11mo agoI fit into this category so I might be able to explain. I'd like to learn emacs and build my perfect config for my WM and so on, but on top of that theres a long list of other stuff I want to do and build and learn. My time is finite and with all the other demands of life, my energy even moreso, so naturally I have to make sacrifices.
- omnicognate 11mo agoThat doesn't sound like you "hate that", more like you're making a time management choice. I'd challenge it, as I find time spent on creating a good developmemnt environment pays off very well in overall productivity terms, up to a point, but it's your choice to make. Emacs certainly isnt for everyone, even among those that enjoy tinkering.
- ssivark 11mo ago> [...] people hate that [...] But that's just culture, and quite easily moldable. Lots of people would also rather gamble watch smut all day, but we decided that it's not the best way to go about life... so we set up a system (school) to manage their learning process, and shepherds them for well over a decade, and then involves them in the economy and in society. Likewise we have cultural mechanisms which try to ensure that people learn essential skills related to nutrition, mobility, relationships, etc. A lot of this has been eroding in recent years under the banner of convenience, and will likely have pernicious consequences in the coming decades. I posit that letting the insidious patterns broadly drive our approach to computing is similarly dangerous.
- jcynix 11mo ago> A lot of people hate that, they want a tool that has all relevant to their tasks front and center [...] A lot of people don't even know how to use their tools properly. I remember when I was teaching a number of Perl courses to programmers, they where joking about me using emacs while they where using vi or vim. But while I watched them while they did their exercises, I constantly heard the "bing" sound when the cursor hit the end of the line. Why? Because they pressed the cursor key and waited for the cursor to travel to the end of the line, then chynged to insert mode to append stuff. Even I, a humble emacs user, knew that there was a vi command to jump to the end of the line and append.
- nine_k 11mo agoI'm not talking about hyper-flexible tools like Emacs or Perl. I mean tools that do one thing, and do it well, with zero tweaking needed, or even allowed. A hammer, a hacksaw, a copy machine, a vending machine, software like age, or like notepad.exe. They can be learned end to end in a rather short time, and if you pick a hacksaw in a different workshop, it's almost guaranteed to work exactly the same as yours. Somehow in the same vein, some people prefer to write in C and tell the machine what exactly it must do, on a very low level, instead of picking an abstraction-rich language like Typescript or C++ or, well, a Lisp, where you typically operate in abstractions which you need to tweak to express your solution elegantly and correctly, but not very directly.
- tmtvl 11mo ago> a vending machine It gave me orange. I wanted lemon-lime. Another one swallowed my coins. But to be pragmatic, many tasks need more than one thing to be done (I think most of us compose our e-mail in a program which sends said e-mail out as well, for example), so the inflexible tools can be insufficiently convenient at times. Also, consider the humble scissors. They do one thing and do it well unless they're the wrong handedness. Try using a right-handed pair with your left hand, it's terribly unwieldy.
- skydhash 11mo ago> they want a tool that has all relevant to their tasks front and center, all irrelevant invisible or nonexistent That is Emacs. You just have to drag the relevant up first and push down the irrelevant. The thing is in Emacs, most utilities don’t want to presume how you would want some feature. Even if they do have defaults, they are suggestions at most. Instead of getting a tools that you have to learn and conform too, you get the template/idea/inital_version of a tool, and you make it your own And there’s the whole idea of integrating stuff instead of isolated utilities.
- slowmovintarget 11mo agoPolite tools that assume competence are such a pleasure to use.
- joshuablais 11mo agoSome people want to just "do work" and not build a toolchest over the years. I think if I find myself doing something once, I will probably be doing it again, therefore the environment can help me greatly with achieving that goal in far less time. There is a diminishing return for some tasks, but some things I have written in emacs save me minutes of time each time they are run daily.
- raverbashing 11mo agoThe more I learn about emacs the more I'm happy I never joined the cult Don't waste my time with 70s "ergonomics" (if it can even be called that) The comparisons with art seem almost to the point of offense to me. You're not building art, you're just building another yet plugin for emacs to do what other people do in maybe 5% less efficient ways but won't spend 2 days automating it
- skydhash 11mo agoEmacs don’t have plugins. Emacs only have a small C core (kernel) that handles very low level details. Everything else is lisp code split into packages (libraries and utilities). And being a lisp means you can alter and redefine any symbol you want. The thing is that, there’s enough packages built-in and by third-party, you never really write your own. My whole config is pretty much setting options and linking packages together.
- dwringer 11mo agoThere are a lot of caveats but in general the "spend 2 days" thing is a lot less true now IMHO thanks to LLM's that can write mostly correct elisp from basic specifications. YMMV of course. I have found this can also open up to being a lot more than "maybe 5% more efficient" for niche applications. It's the closest environment I've used to where the friction between "I wish my editor could do <x>" and actually having the feature almost disappears.
- d0mine 11mo ago> 5% less efficient Emacs changes big O. It is not about changing constant factor. If you need N commands with M features then you can implement and combine them in emacs in O(N+M), to get O(N*M) custom commands. For example, if you need “Search” feature then you can use it everywhere. It can help find you a file in Dired buffer. It can help you find a git chunk in magit. It can help you find todo item in Org mode, etc. It like having a separate `uniq` command instead of implementing it for each shell command (`sort -u` vs. `sort | uniq`). Another example, having `repeat <N> <cmd>` to repeat `<cmd>` command `<N>` times in zsh vs. implementing `<cmd> —repeat <N>` for each command. The difference is linear vs. quadratic. If you need to do 1000 actions that can be decomposed into 100 commands with 10 features each then in emacs then you need to know and understand ~100 things vs. 1000 in less customizable environments.
- fhd2 11mo agoFor me, the power of Emacs is mainly that I can do everything with the keyboard, which is not only much faster, but also - to me - much more enjoyable than going through visual menus with the mouse. For someone not good with the keyboard, it's probably a nightmare. I suppose it's good for power users and terrible for casual users, and I don't know if there's any way to really build one user interface that works equally well for both, it's usually a compromise. The next best thing I love about Emacs is that I can do anything conceivable with code. This one is an even larger gap between power users and casual users. I think tools like that are just fated to only attract a select few.
- timonoko 11mo agoYou can do everything with mouse (or touchscreen). Lets start with these: (xterm-mouse-mode 1) (global-set-key (kbd "<mouse-5>") 'scroll-up-command) (global-set-key (kbd "<mouse-4>") 'scroll-down-command) (global-set-key (kbd "<wheel-up>") 'scroll-up-command) (global-set-key (kbd "<wheel-down>") 'scroll-down-command)
- piokoch 11mo agoBelieve or not, you can go 100% keyboard-only even on Windows. I had a friend, Win server admin (big Microsoft fun), who wasn't using mouse at all.
- Aromasin 11mo agoYou can but that doesn't neccesarily mean you should. I tried it for a while, after seeing my Eve Online friend skipping through tasks at a rate of knots without any mouse movement. My god the amount of tab pressing I had to do to get anything done was crippling. I might have to jump through 15 times to get to something that would take me less than a second to click.
- cluckindan 11mo agoWhich is why most programs support alt-hotkeys.
- positron26 11mo agoEmacs took a wrong fork in its own metaphor. At length, being able to take code and libraries between production and the editor would be a game changer. While Elisp has design features that make sense, in the tradeoffs, I think it lost to every other lisp with a general purpose programming ecosystem. I have a hope for the Common Lisp based Lem. All we need is to coordinate enough signal for potential users to feel it's the right time for their actions. Go star Lem https://github.com/lem-project/lem https://github.com/lem-project/lem I feel the same way about org mode. Nice. Can I use it on a team? Get real. I'd like more embedded data functionality in markdown. It's not XML, and that's good. Org is just weird. AFAIK it's still trying to figure out inline data embedding, so the embedding isn't even that strong. Doing something like exporting with a CSS class around a specific word probably uses some awkward literal syntax instead. There are consequences to the monastic culture around Emacs. It's really good at holding itself in place. If you don't buy that tradeoff, you need to keep shopping.
- ekjhgkejhgk 11mo agoStallman was right.
- k_bx 11mo agoI actually discovered that emacs is great as it is out of the box (except for creating annoying backup files with ~ at the end). I use it instead of nano and vim.
- joshuablais 11mo agoI entirely agree - we could have had a completely unified computing environment, and we got... apps.
- fellowniusmonk 11mo agoEmacs is 100% nearly perfect, the only thing holding back emacs is emacs. I still can't believe we have IRC for grandma (slack) but not emacs for grandma. People get tied up in the program-ability of it but it's UI and the concept of jettising both the desktop and tty paradigms.