• PhilipTheBucket@piefed.social
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    2
    ·
    edit-2
    24 hours ago

    I sort of have a suspicion that there is some mathematical proof that, as soon as it becomes quick and easy to import an arbitrary number of dependencies into your project along with their dependencies, the size of the average project’s dependencies starts to follow an exponential growth curve increasing every year, without limit.

    I notice that this stuff didn’t happen with package managers + autoconf/automake. It was only once it became super-trivial to do from the programmer side, that the growth curve started. I’ve literally had trivial projects pull in thousands of dependencies recursively, because it’s easier to do that than to take literally one hour implementing a little modified-file watcher function or something.

    • CameronDev@programming.dev
      link
      fedilink
      arrow-up
      14
      ·
      23 hours ago

      Its certainly more painful to collect dependencies with cmake, so its not worth doing if you can hand roll your own easily enough.

      The flip side is that by using a library, it theoretically means it should be fairly battle-tested code, and should be using appropriate APIs. File watching has a bunch of different OS specific APIs that could be used, in addition to the naive “read everything periodically” approach, so while you could knock something together in an hour, the library should be the correct approach. Sadly, at least in rust land, there are a ton of badly written libraries to wade through… 🤷

      • PhilipTheBucket@piefed.social
        link
        fedilink
        English
        arrow-up
        10
        ·
        23 hours ago

        Yeah. I have no idea what the answer is, just describing the nature of the issue. I come from the days when you would maybe import like one library to do something special like .png reading or something, and you basically did all the rest yourself. The way programming gets done today is wild to me.

        • CameronDev@programming.dev
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          18 hours ago

          I’m not sure its a problem in of itself, but i agree it definitely enables a problem. Between “is-even” and vibe coding, modern software engineering is in a very sorry state.

          • PhilipTheBucket@piefed.social
            link
            fedilink
            English
            arrow-up
            4
            ·
            18 hours ago

            Yeah. I feel like in a few years when literally nothing works or is maintainable, people are going to have a resurgent realization of the importance of reliability in software design, that just throwing bodies and lines of code at the problem builds up a shaky structure that just isn’t workable anymore once it grows beyond a certain size.

            We used to know that, and somehow we forgot.