Interesting take on comparability vs performance. I gotta imaging capturing user data and sending to a cloud collector is also a big culprit.

  • Nugget_in_biscuit@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Hasn’t this always been the case? Software development is a balance between efficiency of code execution and efficiency of code creation. 20 years ago people had to code directly in assembly to make games like Roller Coaster Tycoon, but today they can use C++ (or even more abstract systems like Unity)

    We hit the point where hardware is fast enough for most users about 15 years ago, and ever since we’ve been using faster hardware to allow for lazier code creation (which is good, since it means we get more software per man-hour worked)

    • redcalcium@c.calciumlabs.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      As long as hardware performance keep increasing, developers would take advantage of it and keep sacrificing performance in exchange for better developer UX. If given a choice between their app using 10x memory vs their app taking 10x less time to develop, most devs would choose the latter, especially if their manager keep breathing behind their neck. The only time a developer would choose to make efficient, but longer to develop apps is usually where the a developer has final say about the project, which usually means small personal side projects, or projects in a company led by technical people who refuse to compromise (which is rare).

      Once the hardware performance plateau, we’ll see resurgence of focus on improving application performance.

    • sarsaparilyptus@lemmy.fmhy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      which is good, since it means we get more software per man-hour worked

      In the same way that more slop is good for the hog trough

      • Korkki@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Human development is the development of labor saving practices (i.e development tools and methods) that liberate humans and labor to do other things. In this case “good software” is bound to that it 's efficient enough to run on the system and do it’s job and not slow down the whole system unjustifiably. Why on earth would anybody go full performance optimization autism mode, spending hours grinding down fractions of efficiency out of code, when one couldn’t even notice the difference between it and less optimized code running on the target system? One could spend all that time to do something actually productive for the project like a new feature or do something entirely else. Those earlier game and software devs would have killed for hardware that didn’t require everything to be custom built and optimized to a T. Not having to optimize everything to to a max doesn’t produce “slop”, it produces efficiency.

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

          I agree with most of what you said, but the problem is not everyone has brand new hardware. And it sucks that people have to buy new computers just because software devs are lazy and their program uses 10x more memory than it should.

          I think the end of Moore’s law will push more software efficiency since the devs won’t be able to count on free hardware gains. As compilers and other dev tools get better, i think the optimizations will become more automated.