Why do we need appimage when we can have single binary statically compiled executable?

Additionally, I can’t really understand why are dynamically linked libraries so popular and how on earth anyone who ever had a “.dll / .so not found” error thinks this is a good idea.

The main idea as far as I understand was to be able to share code which I think everyone knows work only in theory, besides would it not be easier to just recompile the executable from source with updated dependency statically linked?

Other idea behind dlls were that you could replace a dll with different dll as long as the api was compatible which is very unlikely scenario for average people.

Yet another possible advantage would be that the library code is shared so it takes less space on disk which might be true for some libraries which are very common but on the other hand static compilation only includes the part of library code that is used by the program so it takes less space anyway and is more optimized.

So the reasons to use the dlls can be easily dismissed.

About the disadvantages - if the dll is not present the program will not work. It’s quite simple and in my view if you create a program which does not work by itself then that’s a failure on your side.

The dlls are just nightmare most of the time, static compilation for the win. (pic for attention)

    • Kache@lemm.ee
      link
      fedilink
      arrow-up
      30
      ·
      edit-2
      1 year ago

      That route already exists today as “the web”, where the “latest” JavaScript source is downloaded and JIT-ed by browsers. That ecosystem is also not the greatest example of stable and secure software.

    • arcimboldo@lemmy.sdf.org
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Great idea. I’m sure Microsoft, Apple, Adobe, and almost every company that makes money with their software will be super happy to share their source code with me!

      Edit: typo

    • MNByChoice@midwest.social
      link
      fedilink
      arrow-up
      8
      arrow-down
      2
      ·
      1 year ago

      Gentoo builds take a long time. Plus hard to use the computer during that time.

      (I may be presuming as the comment above yours is about OS wide. And this was how Gentoo handled things.)

      • zagaberoo@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I use my machine all the time when its updating no problem. You can always configure portage to leave a core or two idle anyway.

        • MNByChoice@midwest.social
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          Oh, thank you! I am realizing I have not used Gentoo in ages. It was the only option on the Xbox at the time, and that didn’t have many cores. I should give it another go.

          • chocobo13z@pawb.social
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            As someone using it as a daily driver, I wish you the best of luck. If you stick with it, I expect you’ll learn a lot about what goes on behind the scenes in other distros that have a lot pre-configured, like greeters, compositors (or DEs and WMs), etc.

          • zagaberoo@beehaw.org
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            I use all cores for updating and still have no problems. Doesn’t even make videos stutter. I think you’ll find things much less heinous than they were on Xbox.

    • exi@feddit.de
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      1 year ago

      But it’s a gigantic waste of energy and time when you could just download a 2mb package and be done with it.