2 ms·
No one, including yourself, approached emacs from a Lisp perspective.
by jr_isidore 3mo ago
No one, including yourself, approached emacs from a Lisp perspective.
- vkazanov 3mo agoI did. After learning the key bindings, I actually found a library book on a pre-CLisp dialect of lisp by some finnish authors and wrote a tool i later used to write my thesis in electrical engineering. The tool was parsing my matlab files and generated latex, which i then made into the final pdf, complete with formulaes and calculations. So instead of writing a decent thesis, i learned about makefiles, latex, emacs lisp and the fact that parsers are very interesting. Also, Lisp felt sooooooo out of this world after pascal, C, Cpp. Surely, i did not work a single day as an electric engineer. PS I keep looking for this book to this very day
- jr_isidore 3mo agoGGP's claim is emacs is better learned as a lisp machine than a text editor, which is akin to saying a monad is just a monoid in the category of endofunctors. In other words, it does a neophyte no good to see the matrix without having lived in it first. It's all one can manage learning emacs's editing primitives if you've never seen it before. Reminding them some (but not all!) of these primitives are in fact elisp expressions is just annoying.
- iLemming 3mo agoI have not forgotten my own "beginner's journey" - au contraire - I vividly remember it, and thus I'm sharing an admonition - so people wouldn't waste their time. Because I did. Besides, I have successfully mentored people from zero-to-hero and helped them learn Emacs. My suggestion to focus on Elisp is not like tech-splaining monads, and Lisp is not that difficult. Definitely not even in the same league of difficulty as Haskell. It is an astoundingly simple language. And yet people just ignore it for years, clueless of what they're missing.
- vkazanov 3mo agoHow did you approach emacs onboarding? In my case it wad sheer enthusiasm of 20 year old who want to do cool things, no matter the amount of effort. So if it takes learning a language, language it was. But i gave up on teaching Emacs. My current stance is: if you want emacs then you know how to do it.
- iLemming 3mo ago> How did you approach emacs onboarding I'd typically would start by showcasing a single (albeit enormously important) aspect of it, like search. When someone sees the countless ways to search for things in Emacs: - isearch, query-replace, occur, multi-occur, project-search, find-file (with wildcards), ffap, apropos, xref-find-definitions/find-references, consult-line, consult-ripgrep, consult-fd, consult-hn, consult-omni, browser-hist-search, magit-find-file, magit-dired-log, etc. That typically, already is enough for them to say - "darn, I want this...". Then next step is to show them that there's nothing to fear - everything is documented, described and can be inspected on the go. In teams where pair-programming is a normal practice, I would typically watch their efforts with something in VSCode, IntelliJ, or even Vim and ask them if they'd want to see how I'd do the same/similar thing in Emacs. If the person is not interested, I won't push for it, but at that point, someone who worked with me on the same team knows that I can show them something entertaining and interesting to see, even if they don't get the immediate urge to dive into it.
- iLemming 3mo agoAnd that's why it cost me two-three years of wasted experience. Looking back, I wish I had focused more on understanding Elisp, learning edebug and the built-in profiler. My bona fide Emacs journey began only after I started writing Elisp without fear.
- stackghost 3mo agoI guess if one's hobby is fiddling with emacs, then I could see why learning edebug and the profiler are valuable first steps. But I view emacs as merely a tool to get vastly more important work done. I just want it to stay out of my way. I have been using emacs for 20 years and never heard of edebug before today, and have never used the profiler. If I install some new package and it doesn't immediately work, I usually uninstall it right away. I don't have time to fuck around. I would rather chew glass than debug breaking changes in my init.el so I make changes rarely, and deliberately. To each their own, I suppose.
- iLemming 3mo ago> I would rather chew glass So, you're making assumptions even without ever trying? You just decided it's hard/time consuming/worthless even though you have "never heard" about it? > I have been using emacs for 20 years Yeah, well. Like I said: Emacs is first and foremost a Lisp interpreter, "using Emacs" actually means dealing with Lisp. To what extent - it's everyone's own choice. I have seen too many stories of people like you - "using" it for decades and then abandoning it for VSCode or other things, without even realizing what they've given up. It only takes just a bit of knowing the basics of Elisp to get the genuine Emacs experience, otherwise, you're just riding the car, not driving it. > I don't have time to fuck around That is a big misconception. Prolific Emacs users don't waste time ricing their setup just for the sake of it. They apply Lisp to meet their needs. My own work demands certain changes every single day - I have to move between different projects, in different PLs, dissimilar teams; I poke into various APIs; consume data in all sorts of formats; build prototypes, every time with different scope and requirements; analyze huge sets of data; search through documents, hop between different hosts, etc. I can only imagine how miserable my life would've been without my Lisp tools, where Emacs invariably takes the center stage. It seems like you lack the notion of what it's like to literally shape your tools for your needs as they evolve. It's like having an entire pottery workshop at your disposal, but choosing to only pick up the already finished, dried pieces. Seriously, don't be daft - hook up an AI assistant to your config, the possibilities are virtually endless. It could be just about anything - any small annoyance that you may decide to improve in your workflow. I wish I had developed this "emacs/hacker mindset" where I don't even think twice, if something feels suboptimal - I'd try to automate it. I'd just start typing some Elisp in my scratch buffer. These days, it has gotten even simpler than that - I'd just type a prompt.
- egorelik 3mo agoI did - I first came to emacs during my lisp phase. I didn't stay with lisp, but I did stay with functional programming, and in those days emacs was the best environment for a number of functional programming languages (maybe still is).
- jr_isidore 3mo agoGGP's claim is emacs is better learned as a lisp machine than a text editor, which is akin to saying a monad is just a monoid in the category of endofunctors. GGP's critique is typical of poor exposition. Read the first chapter of any maths textbook from the 1970s. It doesn't make any sense because the author already knows where everything leads and lest he appear a fool to his peers, will insist the reader does too.