• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: October 19th, 2023

help-circle
  • I’ll start from the last question, to me, if you don’t use elisp, don’t use emacs. To me this is why I still use it, because there is a lisp machine running under it and everything can be manipulated and configured with elisp. Otherwise there are probably better editors these days. You can obviously use it without elisp, if there’s a library or mode that you love and (thanks to the power of elisp) have not found elsewhere, but even that is limited, since you need elisp to configure and manipulate it to fit your use-case the best. And to be honest, copy-pasting stuff without understanding will take you so far and you won’t know why things don’t work when they do, like with every programming language.

    But is lisp worth learning? A definitive yes. As you found out, it’s a different animal. Not just the syntax, but the way everything works. It requires you to think differently. I often say that learning new languages mean “how does if/else work, how does for/while works” basically figure out how do all the regular tools for logic and flow control look like in that language and your mostly set, only lisp does not have those “regular tools for logic and flow control”. And on top of that, it’s based on a wholly different paradigm than what the other languages are based on. It’s a hefty task to climb and you must climb it if you want to get to the stuff that is important, like writing stuff that you can run and get results from, and that’s before we get to the real insane stuff, the true homoiconicity (here’s another word for you) of lisp, the idea that code is data is code, which is truly rare in computing (despite what some fans of other languages will tell you, there are only 2-3 actual homoiconic programming languages and lisp is the most commonly used of them all) and is very hard to wrap your head around.

    So is it worth it? yes, for two reasons. Learning languages that use different paradigms always improves your abilities since you now have more ways of thinking about stuff. Learning Erlang made me a better Javascript programmer just because Erlang has a different way of thinking about everything that C languages take for granted.

    Second, learning lisp in particular will improve you as a programmer. I don’t know why exactly (Not a CS theoretician), but I believe it has to do with the way computers actually “think”. Lisp, as its many detractors will say, is written in a way that is closely connected with the way a computer runs a program, after it’s been disassembled away all the niceties of syntax and suchlike, but before its been interpreted down to assembly. It’s the closest you get to programming in AST trees (another word for you) without actually doing that (and without going insane). Once you climb that mountain you will, guaranteed, be a better programmer, just because you will have better understanding of how is your code being run (guarantee not guaranteed).


  • That’s the point, it isn’t. Emacs is not core with plugins. You have the core engine which is C and is interpreting everything, including the lisp code that governs emacs, and you extend and manipulate that lisp code with your own.

    So first, there is not a core in the sense that most other programs see it. The core is not emacs. It’s a lisp interpreter. Geared towards e-lisp and using e-lisp in a way that creates emacs, in the sense of buffers and windows and frames etc, but it’s not “emacs” in the sense that vim’s core is the program itself. I am not that familiar with VScode architecture, and I know it runs over electron and V8 etc, but it does have the VScode “core” on top of those, which you can’t change, only tack into, with plug ins, which brings me to the next issue:

    There are no “plug ins”. Plug ins mean you attach a to b without influencing b other than using b’s resources. When you plug in a lamp, the lamp doesn’t rewrite your electricity, it just uses it. When you write lisp code, you can change fundamental elements in emacs, you can manipulate how emacs does things not just relating to your part, but to everything in emacs. You can basically rewrite emacs itself. You can’t rewrite vim or VSCode or any other editor that you use.

    I also don’t understand what is the difference between the model in the way it has been used so far to what you see now. To me it’s the same one, just different takes on the model, some more permissive, some less extensive. Just because X comes with batteries and the kitchen sink and Y comes bare bones does not change their architecture, and the idea of giving the user a scripting or configuration API to manipulate stuff while keeping the core away is as ancient as computers. That’s basically how Operating Systems and programming languages work, and a lot of programs come with this model (or at least pretend to).





  • erez@alien.topBtoEmacs@communick.newsI love emacs
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    First, you’re imagining. Second, having to switch all day between your dark modes and the rest of the world (sites, documents et al) that are on white background is much more “fatiguing” to your eyes, but you don’t notice that because you convinced yourself that drawing colorful characters on a blackish background is better.


  • erez@alien.topBtoEmacs@communick.newsI love emacs
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Keep in mind that I did not mention either of those by name, you did, so you’re debating yourself rather than me. I’m just saying that making a tool, any tool, work best for your use case doesn’t mean you can’t achieve the same result with another tool, or set of tools after similar customization etc.


  • erez@alien.topBtoEmacs@communick.newsI love emacs
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Once you learn how to navigate, customize, workaround and enhance a system in a way that fits your need, yes, good luck using another tool that you now need to learn how to navigate, customize, workaround and enhance to use in a way that fits your needs, ha!




  • erez@alien.topBtoEmacs@communick.newsi wanna try emacs
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Emacs is the opposite of the Unix way, as are many of the GNU tools. It’s the opposite of “each tool does one thing and does it well” and is a “one thing will do everything, sometimes well and sometimes less”. And since you already have a solution you are using, and are committed to the cargo cult of VI keybindings, then there’s no reason for you to try emacs.