tux snipes-hesitation

  • poster596 [kit/kit's]@hexbear.net
    link
    fedilink
    English
    arrow-up
    69
    arrow-down
    1
    ·
    4 days ago

    We are in the beginning of a huge dark age for software development.

    With stackoverflow and forums dead, a whole generation untrained, LLM-companies about to crash in the coming years, local models self-poisoning and going out of date. Deslopping all the garbage that is currently getting piled onto the entire infrastructure is going to be a slow thankless and almost entirely self-imposed waste of time.

    • space_comrade [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      37
      arrow-down
      2
      ·
      edit-2
      3 days ago

      In high profile projects like the Linux kernel, probably yeah but I think people are vastly overstating the quality of the code the average developer writes and also their overall knowledge and skill level, I’ve seen some shit early in my career where looking back on it now I wish I was reading AI slop, and this was software that earned millions a year.

      Fact is a lot of important code that a lot of people depended on has always been kinda shit and yet it worked because there was enough manpower to keep it clanking on.

      • reader [they/them, she/her]@hexbear.net
        link
        fedilink
        English
        arrow-up
        21
        ·
        3 days ago

        Youre right about quality but the problem isn’t just code quality, its also the sheer volume of code and its unmaintainability. Quality has always been pretty low in commercial software, but there were practical limits to how much of it could be created, and with enough labor thrown at testing and maintenance, as you say it clanked on.

        When it’s easier to just generate a whole new page in the UI than fix bugs or make usability improvements though, when it’s easier to generate a whole new separate app than to introduce a new feature into the existing one, and when completely nontechnical people are running around doing this stuff without understanding the consequences, risks, etc. I think its very fair to describe it as a dark age. Large parts of the industry and the world are already there in the thick of it, and it is bad.

        Social structures will adapt but that won’t bring back the old way of doing things or reduce reliance on AI, if anything it will entrench it further, until/unless costs become prohibitive

        • space_comrade [he/him]@hexbear.net
          link
          fedilink
          English
          arrow-up
          8
          ·
          3 days ago

          When it’s easier to just generate a whole new page in the UI than fix bugs or make usability improvements though, when it’s easier to generate a whole new separate app than to introduce a new feature into the existing one

          That’s a good point actually, before software became stable and usable only after patching it up after it collided with the real world and real users. If you’re constantly rewriting shit you’re constantly going to go one step forward two steps back.

      • kibiz0r@midwest.social
        link
        fedilink
        English
        arrow-up
        18
        ·
        3 days ago

        This notion of “quality of output” misses something important though, which I think our economic system predisposes us to ignore.

        I think most of us have this concept that the function signature of “working on code” is something like:

        implement(spec): CodeChanges;
        

        But I think this hides some stateful side-effects. There’s a monadic thing going on here, and I think it’s really more like:

        implement(knowledge, spec): [CodeChanges, KnowledgeBundle];
        

        …where KnowledgeBundle is a whole bunch of things: latent info about how things currently work, obviously, but also the yet-unnamed missing abstractions you noticed, the existing named abstractions that are starting to strain — basically the sense of the trajectory of the codebase.

        Even really shitty programmers get some sense of the trajectory of the codebase, but this is something that even the best frontier models fail at.

        Tangent:

        I saw a pretty cool visualization of Kalman filters the other day (substantially AI-generated, coincidentally), and I thought it matched something about this dynamic.

        If you’re only concerned about the “next step”, aka “quality of output”, your error will accumulate and you’ll drift over time. You need to be able to evaluate where you are, so you can correct that error and stay on course. And to do that, you need to be present inside of the code and feel where the pain points are, or your estimation will be so far off that it’s useless.

        I think our economic focus on “output” and our obliviousness to internal states (or even denial that they exist at all) is going to make it very easy to fall into the trap of taking a long series of next steps that individually look very sensible, but over time accumulate unmitigated error and drift towards disaster.

        • space_comrade [he/him]@hexbear.net
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          1
          ·
          3 days ago

          Even really shitty programmers get some sense of the trajectory of the codebase, but this is something that even the best frontier models fail at.

          Eh in my experience even good programmers are kinda bad at estimate the future trajectory of the codebase, I’ve seen experienced people design fancy abstractions only for those abstractions to fall flat on their face when future requirements present themselves.

          If you’re only concerned about the “next step”, aka “quality of output”, your error will accumulate and you’ll drift over time. You need to be able to evaluate where you are, so you can correct that error and stay on course. And to do that, you need to be present inside of the code and feel where the pain points are, or your estimation will be so far off that it’s useless.

          I feel like this inevitably happens to pretty much every piece of software, hell I’d bet Torvalds regrets a some technical decisions he made with Linux decades ago. Are LLMs worse at this than humans? Probably, but I’m not sure by how much.

          I dunno maybe I’m biased because I was always working with fairly crappy and haphazardly written commercial software but I don’t see LLMs being that much worse at writing code than humans in general.

      • JoeByeThen [he/him, they/them]@hexbear.net
        link
        fedilink
        English
        arrow-up
        19
        ·
        3 days ago

        I don’t know how things in the industry are now, but back in my day you didn’t deploy a Microsoft product until the second service pack had been released. Trusting software to be reliable and secure was always a no no.

        • Lussy [he/him, des/pair]@hexbear.net
          link
          fedilink
          English
          arrow-up
          10
          arrow-down
          1
          ·
          3 days ago

          Yeah, computer tech used to be real dogshit back in the day. Everyone waxes poetic about Windows Xp but if we’re actually being honest, Windows 11 blows it out of the water

    • Tabitha ☢️[she/her]@hexbear.net
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      3 days ago

      I actually think we’re at the tail end of the current decade long dark age. The barrier to “can’t use photoshop on linux because adobe is an asshole and also costs $200/year” could be gone next year. There is a vibe coded multi-platform rust clone that you might say is 50% done and already has optimistic reviews from real photoshop users. many walled gardens and enshitified apps are at risk now.

      silicon valley style tech companies want to use LLMs to ship you walled garden ball and chain slop as fast as possible, paying as few workers as possible, to steal the highest margins from the working class as possible.

      the open source community wants to use LLMs to ship the safest, most privacy respecting, and otherwise highest quality software possible.

      the LLMs themselves do not force you to ship low quality code. it’s your choice to engage in solid engineering principles or not.

      • bobs_guns@lemmygrad.ml
        link
        fedilink
        English
        arrow-up
        13
        ·
        3 days ago

        Pareto principle gets even worse for LLM code, the Photoshop clone won’t exceed Krita in quality as time goes on

        • Tabitha ☢️[she/her]@hexbear.net
          link
          fedilink
          English
          arrow-up
          5
          ·
          3 days ago

          I wouldn’t say the distinction between a photoshop clone and krita really matter, as they are built for slightly different use cases, and at the moment I trust both devs will make the right choices for their respective codebases over the next 10 years, and their core users are unlikely to swap over anyways.