• ☆ Yσɠƚԋσʂ ☆@lemmygrad.mlOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    23 hours ago

    It’s useful for me, I’m the target audience for this. I’m working on a React project right now, and I haven’t touched Js in close to a decade. I know what I want to do conceptually, and I have plenty of experience designing applications. However, I’m not familiar with the nitty gritty of how React works and how to do what I want with it. This tool saves me a ton of time googling these things and wasting hours on sites like stack overflow.

    • piggy [they/them]@hexbear.net
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      22 hours ago

      I know what I want to do conceptually, and I have plenty of experience designing applications.

      How does AI help you actually traverse the concepts of React that you admit you don’t have nitty gritty knowledge of how they work in terms of designing your application? React is a batteries included framework that has specific ways of doing things that impact the design and concepts that are technically feasible within React itself.

      For example React isn’t really optimized to crunch a ton of data performantly so if you’re getting constant data updates over a web socket from multiple points and you want some or all the changes to be reflected you’re gonna have a bad time vs something that has finer grained change controls out of the box such as Angular.

      How does AI help you choose between functional and class based React components? How much of your application is doing typical developer copy-pasta instead of creating HOCs for similar functionalities? How did AI help you with that? How is AI helping apply concepts like SOLID into the design of your component tree? How does AI help you decide how to architect components and their children that need to have a lifecycle outside of the typical change-binding flow?

      This in my opinion is the crux of the issue, AI cannot solve this problem for you nor can it reasonably explain it in a technical way beyond parroting the vagaries of what I said above. It cannot confer understanding of complex abstract concepts that are fuzzy and have grey areas. It can tell you something may not work explicitly but it cannot educate you realistically on the tradeoffs.

      It seems to me that your answer boils down to “code monkey stuff”. AI might help you swing a pickaxe, but it’s not good at explaining where the mine is going to collapse based on the type of rock you’re digging in. Another way of thinking about it is that you could build a building to the “building code” but it will still collapse. AI can explain the building code and loosely verify that you built something to it, but it cannot validate that your building is going to stay standing nor can it practically tell you what you need to change.

      My problem with AI tools boils down to this. Software is a medium of communication. It communicates the base of a problem and the technical process of solving it. Software Engineering is a field that attempts to create strong patterns of communication and practices in order to efficiently organize the production of Software. The software industry at large (where most programmers get exposed to the process of building software) often eschews this discipline because of scientific management (the idea you can simply manage a process through fiduciary/managerial knowledge rather than domain knowledge) and the need for instant development to maintain fictional competitive advantage and fictional YoY growth. The industry welcomes AI for 2 reasons:

      1. It can code monkey…eventually. Why pay programmers when you can ask CahpGBT to do it?
      2. It can fix the problem of needing to deliver without knowing what you’re doing… eventually. It fixes the problem of communication without relying on building up the knowledge and practice of Software Engineering. In essence why have people know this discipline and its practical application when you can continue to have the blind leading the blind because ChadGTP can see for us?

      This is a disservice to programmers everywhere especially younger ones because it destroys the social reproduction of the capacity to build scalable software and replaces it with you guessed it machine rites. In practice it’s the apotheosis of Conway’s Law in the software industry. We build needlessly complex software that works coincidentally, and soon that software will be analyzed, modified, and ultimately created by a tool that is an overly complex statistical model that also works through the coincidence of statistical approximations.

      • ☆ Yσɠƚԋσʂ ☆@lemmygrad.mlOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        22 hours ago

        How does AI help you actually traverse the concepts of React that you admit you don’t have nitty gritty knowledge of how they work in terms of designing your application?

        It helps me by showing me the syntax and patterns that map to what I’m trying to do conceptually. By pointing me in the right direction, it saves me time searching for these things. I don’t know why that’s so difficult for you to understand.

        For example React isn’t really optimized to crunch a ton of data performantly so if you’re getting constant data updates over a web socket from multiple points and you want some or all the changes to be reflected you’re gonna have a bad time vs something that has finer grained change controls out of the box such as Angular.

        That’s not a problem I’m solving, and in practice most UIs don’t actually deal with a lot of data because the human user is the limiting factor. I’m working on an application that’s doing fairly vanilla things here.

        How does AI help you choose between functional and class based React components? How much of your application is doing typical developer copy-pasta instead of creating HOCs for similar functionalities? How did AI help you with that? How is AI helping apply concepts like SOLID into the design of your component tree? How does AI help you decide how to architect components and their children that need to have a lifecycle outside of the typical change-binding flow?

        That’s not a problem it’s solving for me. As I’ve explained to you, I already have plenty of experience and I know how I like to structure applications. I’m used to using re-frame in Clojure, and I’m just looking how to do similar patterns in React. The AI does an excellent job of helping me discover them.

        This in my opinion is the crux of the issue, AI cannot solve this problem for you nor can it reasonably explain it in a technical way beyond parroting the vagaries of what I said above. It cannot confer understanding of complex abstract concepts that are fuzzy and have grey areas. It can tell you something may not work explicitly but it cannot educate you realistically on the tradeoffs.

        I don’t need it to confer understanding of abstract concepts to me. I need it to show me common patterns within a particular library that map to the concepts I’m already familiar with. I don’t need it to educate me on any trade offs.

        Meanwhile, the problems you’re fixating on are not inherent to AI in any way and have always existed in the software industry. Cargo culting is a term for a reason, no AI has been necessary for people do that, nor does absence of AI prevent this from happening. So, your whole argument is completely misdirected because AI is not the problem here. People who were going to cargo cult were gonna do that regardless of the tooling.

        This is a disservice to programmers everywhere especially younger ones because it destroys the social reproduction of the capacity to build scalable software and replaces it with you guessed it machine rites.

        That’s absolute nonsense. It doesn’t destroy the capacity to build scalable software any more than stack overflow does.

        We build needlessly complex software that works coincidentally, and soon that software will be analyzed, modified, and ultimately created by a tool that is an overly complex statistical model that also works through the coincidence of statistical approximations.

        You’re saying this as if it wasn’t the case long before AI showed up on the scene. You’re making up a giant straw man of how you pretend software development works which is utterly divorced from what we see happening in the real world. The AI doesn’t change this one bit.

        • piggy [they/them]@hexbear.net
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          21 hours ago

          You’re making up a giant straw man of how you pretend software development works which is utterly divorced from what we see happening in the real world. The AI doesn’t change this one bit.

          Commenting this under a post where an AI has spit out a dot product function optimization for an existing dot product function that’s already ~150-250 lines long depending on architectural implementation of which there are about 6. The PR for which has an interaction that is two devs finger pointing about who is responsible for writing tests. The PR for which notes that the original and new function often don’t give the correct answer. Just an amazing response. Chefs kiss.

          What a wonderful way to engage with my post. You win bud. You’re the smartest. This industry would never mystify a basic concept that’s about 250 years old with a 716 line PR through its inability to communicate, organize and follow an academic discipline.

          • ☆ Yσɠƚԋσʂ ☆@lemmygrad.mlOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            21 hours ago

            What a wonderful way to engage with my post. You win bud. You’re the smartest.

            Amazing counterpoint you’ve mustered there when presented with the simple fact that all the problems you’re describing have already been happening long before AI showed up on the scene. Way to engage in good faith dialogue. Bravo!

            • piggy [they/them]@hexbear.net
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              20 hours ago

              I’ve never said that AI is the cause of those problems that’s words you’re putting in my mouth. I’ve said that AI is being used as a solution to those problems in the industry when in reality the use of AI to solve those problems exacerbates them while allowing companies to reap “productive” output.

              For some reason programmers can understand “AI Slop” but if the AI is generating code instead of stories, images, audio and video it’s no longer “AI Slop” because we’re exalted in our communion with the machine spirits! Our holy logical languages could never encode the heresy of slop!

              • ☆ Yσɠƚԋσʂ ☆@lemmygrad.mlOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                20 hours ago

                Ok, so if you agree the AI is not the source of those problems, then it’s not clear what you’re arguing about. Nobody is arguing for using the AI for problems you keep mentioning, and you keep ignoring that. I’ve given you concrete examples of how this tool is useful for me, you’ve just ignored that and continued arguing about the straw man you want to argue about.

                The slop has always been there, and AI isn’t really changing anything here.

                • piggy [they/them]@hexbear.net
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  edit-2
                  20 hours ago

                  Nobody is arguing for using the AI for problems you keep mentioning, and you keep ignoring that.

                  This is absolutely not true. Almost every programmer I know has had their company try to “AI” their documentation or “AI” some process only to fail spectacularly because the basis of what the AI does to data is either missing or doesn’t have enough quality. I have several friends at the Lead/EM level take too much time out of their schedules to talk down a middle manager from sapping resources into AI boondoggles.

                  I’ve had to talk people off of this ledge, and lead that works under me (I’m technically a platform architect across 5 platform teams) actually decided to try it anyway and burn a couple days on a test run and guess what the results were garbage.

                  Beyond that the problem is that AI is a useful tool in IGNORING the problems.

                  I’ve given you concrete examples of how this tool is useful for me, you’ve just ignored that and continued arguing about the straw man you want to argue about.

                  I started this entire comment thread with an actual critique, a point, that you have in very debate bro fashion have consistently called a strawman. If I were a feeling less charitable I could call the majority of your arguments non-sequitors to mine. I have never argued that AI isn’t useful to somebody. In fact I’m arguing that it’s dangerously useful for decision makers in the software industry based on how they WANT to make software.

                  If a piece of software is a car, and a middle manager wants that car to have a wonderful proprietary light bar on it and wants to use AI to build such a light bar on his wonderful car. The AI might actually build the light bar in a narrow sense to the basic specs the decision maker feels might sell well on the market. However the light bar adds 500lbs of weight so when the driver gets in the car the front suspension is on the floor, and the wiring loom is also now a ball of yarn. But the car ends up being just shitty enough to sell, and that’s the important thing.

                  And remember the AI doesn’t complain about resources or order of operations when you ask it do make a light bar at the same time as a cool roof rack, a kick ass sound system and a more powerful engine, and hey if the car doesn’t work after one of these we can just ask it to regenerate the car design and then just have another AI test it! And you know what it might even be fine to have 1 or 2 nerds around just in case we have to painfully take the car apart only to discover we’re overloading the alternator from both ends.

                  • ☆ Yσɠƚԋσʂ ☆@lemmygrad.mlOP
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    20 hours ago

                    I’m talking about our discussion here. AI can be misused just like any tool, there’s nothing surprising or interesting about that. What I’m telling you is that from my experience, it can also be a useful tool when applied properly.

                    I started this entire comment thread with an actual critique, a point, that you have in very debate bro fashion have consistently called a strawman.

                    I’ve addressed your point repeatedly in this discussion.

                    In fact I’m arguing that it’s dangerously useful for decision makers in the software industry based on how they WANT to make software.

                    And I’m once again going to point out that this has been happening for a very long time. If you’ve ever worked at a large corporation, then you’d see that they take monkeys at typewriter approach to software development. These companies don’t care about code quality one bit, and they just want to have fungible developers whom they can hire and fire at will. I’ve seen far more nightmarish code produced in these conditions than any AI could ever hope to make.

                    The actual problem isn’t AI, it’s capitalist mode of production and alienation of workers. That’s the actual source of the problems, and that’s why these problems exist regardless of whether people use AI or not.