• shirro@aussie.zone
    link
    fedilink
    English
    arrow-up
    39
    ·
    edit-2
    23 hours ago

    I love tech. My brain loves soaking up new things. Currently writing my first ever game engine in my 50s in c with my kid based on books and include files. Better late than never.

    The technology was never the problem. It’s the money people. Always was. The Marxists got that bit right. Some of the tech bros are from a tech background but their culture and motivations aren’t like mine.

    The money person these days follows the drug pusher/pimp model. They want to control you and have you on a hook. Everything has gaming machine mechanisms built in to keep you coming back. You can’t walk away. They have all your data, all your connections. You are helpless. A victim, but you walked right into it. Final victory for them is to lobotomise all your higher order thinking skills. Your just a body to lie there and be fucked.

  • arcine@jlai.lu
    link
    fedilink
    English
    arrow-up
    53
    arrow-down
    1
    ·
    1 day ago

    The “correct” way to use AI for coding (and anything really) is to ask for explanations / tutorials when you can’t find one online, then learn from that.

    Never let it do something for you. That’s how you lose. If you’re not actively learning, you’re actively rotting, and that goes for life in general too.

    • white_nrdy@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      23 minutes ago

      I have started using LLM tools recently after taking a new job where a lot of people do it. I’ve discovered that it’s actually fairly helpful not only for explanations, but in two other respects

      • Sifting through immense amounts of documentation. I have to deal with some datasheets that are hundreds of pages, where there will be info scattered throughout. It’s very helpful sifting through those.
      • Doing boiler plate “plumbing work” in my code. I’m mostly drawing a line where I don’t want it doing the “core” work in that which I’m an expert, since I agree that if I stop doing that, I’ll atrophy. However it can help accelerate my process if I pass off some of the minutiae that I don’t feel the need to do.

      However all that said, I am honestly pretty impressed how well it works. I’ve mostly been using Claude, and damn, it’s honestly pretty competent. I had it make me a helper Python GUI program for me to test some stuff (I’m not a UI/high level engineer like that, I’m an FPGA Engineer), and it did a decent job. It definitely needed a good amount of massaging and guidance. However I can definitely see the appeal, and I think it’s a slippery slope, and I need to make sure I remain disciplined in not letting it do everything

      • MangoCats@feddit.it
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 minutes ago

        One trap is to trust it as a means to accomodate unreasonable schedule pressure.

        Sure - this thing looks like it works, hell it probably does work, do you really want to launch a probably works product? If your management does - consider shopping around for a raise/promotion under different management. It’s never easy to move, but if you’re moving on your own terms you can often make the effort worth your while.

        Another note: I find the LLMs to be wickedly detail oriented code reviewers - like, they’ll point out the tiniest little discrepancies and edge cases, and what they (Claude, at least) report is usually “real.” Now, that doesn’t mean they find everything that’s wrong on the first pass, but once you’ve addressed everything in the first pass, you can make a second pass, and a third, etc. each time with different focus: documentation complete? implementation functions as intended? technical debt? test coverage? security issues? issues with maintainability? documentation in sync with implementation? specific aspect of implementation functions as intended? etc. - if you address all the findings after each review cycle (and addressing a finding can be clarifying a requirement to relax about certain unimportant aspects…) eventually the findings slow down / only find ridiculously unimportant things.

    • Hiro8811@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      3
      ·
      1 day ago

      I don’t think that’s a good idea, if you can’t find an explanation online that means that there’s not much info available in which case the best thing would be to ask on a forum, that way other people that look for that info will find it.

      • arcine@jlai.lu
        link
        fedilink
        English
        arrow-up
        5
        ·
        3 hours ago

        Usually, the LLM’s response will be incomplete or partially incorrect, but it’s often good enough to get un-stuck.

        Usually it will have some keywords you can look up, some bits that bring up further questions for you to answer (and for which the LLM should also not be your first choice).

      • Shayeta@feddit.org
        link
        fedilink
        English
        arrow-up
        14
        ·
        1 day ago

        Not really, google results have been just that bad for the last 10 years. I can spend 10min looking for a piece of documentation on something and not find it. Or I can prompt an internet-connected AI and have it spit out links to relevant docs. It’s gotten THAT bad.

    • demonsword@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      9
      ·
      1 day ago

      The “correct” way to use AI for coding (and anything really) is to ask for explanations / tutorials when you can’t find one online, then learn from that.

      except the “explanation” frequently will be 100% “hallucinated” bullshit

      • Bilb!@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        For what it’s worth, I’ve been working on (yet another) ActivityPub based micro blogging application and LLMs have been enormously helpful and so far as I can tell, correct. Often it cites the AP specs and its extensions, as well as specific implementations from existing major AP apps. It can show me expected outputs, what responses from my app should look like in response to different requests from other servers, and quickly give context for features like Mastodon’s shared inbox. I’m not having it simply generate code, but I think I’m still moving way faster than I otherwise could. I don’t recall it ever giving me incorrect information.

        It’s the first time I’ve used an LLM as a tool this way, and I’m pretty impressed with it. I’m using the assistant made available through Kagi.

      • takeda@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        15 hours ago

        People say the best way to see this is asking AI about subject you’re expert of.

        This is not always possible, I had people who said “but I’m not expert at anything”. Another way is to ask them about yourselves. For example if you have reddit account that is has some age, Gemini has deal with reddit and feeds them everything that’s posted. First response might even look good, but continue talking (as it is getting more ridiculous), don’t try correct, you can see how it is making shit up.

        Since they are feeding it with everything lemmy might also work.

      • UltraBlack@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        That’s why I always ask it to cite sources. Basically googld ATP since google is turning to shit and all other search engines still aren’t quite as good

        • frongt@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          3
          ·
          1 day ago

          It could very easily use a completely different or hallucinated source.

          But a lot of LLM products are now providing source links right in the response. I’ve found them useful, and hopefully they aren’t produced just by feeding the text back in and asking for a link.

  • FaceDeer@fedia.io
    link
    fedilink
    arrow-up
    85
    arrow-down
    32
    ·
    2 days ago

    Developers who are told to use AI whether they like it or not, however, tell a different story.

    Well there’s the problem.

    I’m a software developer and I say that AI is the greatest force-multiplier that’s been introduced into the field since the compiler. I love using it, it handles the most tedious and annoying parts of the process. But there are situations I don’t want to use it in, and of course being forced to use would give me a more negative opinion of it. Obviously.

    • scarabic@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 hour ago

      I didn’t read this as “people who like it in some situations being forced to use it in other situations,” but rather people who are against it as a whole being forced to use it at all. And yeah those folks are going to have a bad time, and won’t be in their jobs long. Just facts.

    • takeda@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      11
      ·
      14 hours ago

      I’m a software developer and I say that AI is the greatest force-multiplier that’s been introduced into the field since the compiler.

      As a person who works with coworkers who fully embraced it, it doesn’t look like they are any faster. There is one group that is faster, but they don’t verify their code and provide burden of it on another person who reviews PR to go through their shit code (sorry, but it is unnecessarily complex, does things in weird ways, I’ve seen it had bugs that even canceled each other (I guess this is probably due to re-running until things work))

    • moustachio@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      7
      ·
      1 day ago

      There isn’t any credible evidence out there that actually shows LLMs are a “force multiplier.” That is almost certainly just a made up marketing term for unprofitable chatbot companies.

      • iglou@programming.dev
        link
        fedilink
        English
        arrow-up
        13
        arrow-down
        4
        ·
        1 day ago

        If it’s a tool you can use yourself and it makes you more efficient, you don’t need a study to recognize its efficiency.

        If you’re a software engineer, just try it yourself. Your own experience is the best proof you can find to judge if a tool is useful to you or not.

        • moustachio@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          5
          ·
          1 day ago

          I am a software engineer, and trying it is exactly how I know it is not a “force multiplier.”

          Outside of my personal experience—there’s also zero actual evidence it provides anywhere near the benefits it’s marketed as.

      • FaceDeer@fedia.io
        link
        fedilink
        arrow-up
        17
        arrow-down
        8
        ·
        1 day ago

        In this case the evidence is literally first-hand experience. There is nothing that will change my mind on this because it’s my direct personal experience from actual use.

        I honestly don’t care what marketing says, and if other people have different experiences then that’s just them. In my personal actual real-world experience I found that they let me get tons more done and their quality of work is perfectly fine as long as you’re using the right tools and giving them the right instructions.

        The article says that developers are disagreeing with that in situations where they are “forced” to use AI, and that’s fair, it doesn’t make sense to force a tool to be used for something it’s not good at. They might be using it wrong. I use it whenever it’s better than not using it, and that ends up being quite often in my workflow.

        • innermachine@lemmy.world
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          4
          ·
          1 day ago

          Unfortunately your being downvoted by the echo chamber participants that have to make sure you know that your opinion is wrong and theirs is better. AI is a tool, just like my impact gun. Yea there are times where you absolutely should not use an impact gun on something, but it’s THE tool for some situations. And yea, using an impact gun where you should t will get you in trouble just like using AI in situations you shouldn’t will get you in trouble. There is nothing new on that front!

          • Senal@programming.dev
            link
            fedilink
            English
            arrow-up
            7
            ·
            1 day ago

            I don’t disagree with the post you are responding to, almost all of that is reasonable.

            Your overall argument would be more convincing if it wasn’t you doing the exact same thing you are complaining about.

            As for specifics , the “Just a tool” argument is meh, not all tools are equal in potential benefit and harm.

            Asbestos (while it is a material) was a “tool” used to insulate from heat.

            Was it good at that, sure, it probably saved many lives, was it also harmful as fuck in the medium to long term, yes it was.

            It can be a useful tool and also be a detriment, those things aren’t mutually exclusive.

            The danger of a tool can also be mitigated with adequate safeguards that come from experience gained over time.

            The argument then becomes risk vs reward, which is an entirely different conversation.

      • finnadrag@lazysoci.al
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        4
        ·
        edit-2
        1 day ago

        ‘Your personal experience is invalid because it goes against the circlejerk’

        • moustachio@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          1
          ·
          1 day ago

          Did you miss the part about no credible evidence? Feeling like something is a certain way doesn’t make it true.

    • neclimdul@lemmy.world
      link
      fedilink
      English
      arrow-up
      34
      arrow-down
      6
      ·
      2 days ago

      I kind of agree it’s a multiplier. But so far every time I’ve had it do something its written such an ugly turd I have to rewire it all taking more time than if I’d just solved the problem to start with. Maybe someday but it’s not up to the quality I expect of development.

      • scarabic@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        57 minutes ago

        I got a lot of garbage when I didn’t know what I was doing and just tried AI once or twice a week with lazy prompts, expecting perfection without iterations. I’d huff and crow about how I had to fix things, whereas now I just tell it what to fix, or even better how to get it right the first time. I’ve built up my library of skills and prompts and refined them quite a bit. The models keep getting smarter. You should really look at your tools and methods - sounds like you’re stuck in 2024.

      • ChickenLadyLovesLife@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 day ago

        I kind of agree it’s a multiplier.

        It’s definitely a force multiplier, it’s just that the factor after the X can be less than 1.0.

      • FaceDeer@fedia.io
        link
        fedilink
        arrow-up
        18
        arrow-down
        6
        ·
        2 days ago

        Have you tried giving it coding standards and other such preferences about how you like your code to be organized? I’ve found that coding agents can be quite adaptable to various styles, you can put stuff like “try to keep functions less than 100 lines long” or “include assertions validating all function inputs” into your coding agent’s general instructions and it’ll follow them.

        For me, one of the things that’s a huge fundamental improvement is telling the agent to create and run unit tests for everything. That way when it does mess up accidentally it can immediately catch the problem and usually fixes it in the same session without further intervention. Unit tests used to be more trouble than they were worth most of the time, now I love them.

          • FaceDeer@fedia.io
            link
            fedilink
            arrow-up
            10
            arrow-down
            7
            ·
            2 days ago

            No, I’ve used them plenty before. I just found them to generally be a huge hassle of minimal benefit. They became much more useful in the context of agentic coding, where you want the agent to be able to immediately realize “oh, this change I made causes these specific problems when it’s run.” The hassle is all on the agent, not on me.

              • FaceDeer@fedia.io
                link
                fedilink
                arrow-up
                8
                arrow-down
                6
                ·
                2 days ago

                Could be. I’m a professional programmer whose usage runs the whole gamut - large applications with hundreds of programmers working on them for years, smaller apps that I make for my own use, and one-off scripts to do some particular task and then generally throw away afterwards.

                I don’t do unit tests for that last category, of course. I don’t even use coding agents for those, generally speaking - a bit of back-and-forth in a chat interface is usually enough there.

                • neclimdul@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  11
                  arrow-down
                  5
                  ·
                  2 days ago

                  Is this like a who’s got a bigger portfolio situation? I’m not sure how to respond

                  I guess I’ve been developing for decades including consulting for Page 6, a stint in RD at Sony Music. One of my open source contributions was used as part of the backend for one of Obama’s State of the Unions. I spend my time these days writing and maintaining multiple software stacks integrating across multiple platforms.

        • dreamkeeper@literature.cafe
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          We have ours configured with our coding standards, mcps, and we have a skill library.

          It still outputs code full of mistakes. Usually they’re minor mistakes, but not always.

          When we use it to fix defects, it usually fixes the problem, but not in a very robust way. It still needs a lot of supervision to output quality code. For example it will often spot fix defects instead of applying the principle of the code fix to other areas that also need it (i.e. we needed to normalize some data but it only did it in one place, because the ticket only mentioned that one place, however that data is used elsewhere as well)

          It’s a helpful tool for sure but it’s rare that I don’t need to make corrections

        • Badabinski@kbin.earth
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          I’ll say that during a recent week where I was forced to use an LLM, I found Claude Opus to be extremely poor at referencing this guide: https://mywiki.wooledge.org/BashPitfalls

          it took almost an hour to get Claude to write me a shell script which I considered to be of acceptable quality. It completely hallucinated about several of the points in that guide, requiring me to just go read the guide myself to verify that the language model was falsifying information. That same task would have taken me about 5 minutes.

          I believe that GIGO applies here. 99% of shell scripts on the internet are unsafe and terrible (looking at you, set -euo pipefail), and Claude is much more likely to generate god awful garbage because of the inherent bias present in the training data.

          And as for unit tests? Imo, anything other than property-based testing is irrelevant. If you’re using something like Pydantic, you can auto-generate a LOT of your tests using the rich type annotations available in that library along with hypothesis. I tend to write a testing framework once, and then special case property tests for things that fall outside of my models. None of this is super helpful for big ugly codebases with a lot of inertia around practices, but that’s not been my environment, thankfully.

            • Badabinski@kbin.earth
              link
              fedilink
              arrow-up
              2
              ·
              1 day ago

              Shellcheck, while good, doesn’t capture all best practices in my opinion. There are many items in that doc which shellcheck would happily allow, worst of all being set -euo pipefail.

        • ExLisper@lemmy.curiana.net
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          4
          ·
          2 days ago

          Unit tests used to be more trouble than they were worth most of the time, now I love them.

          Sounds like you were writing bad unit tests and AI showed you how to do it right.

    • Pennomi@lemmy.world
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      12
      ·
      2 days ago

      It lets me focus on the software architecture, not the minutiae. It feels exactly like when I ran a team of brand new interns. They require a lot of hand holding but with the right direction they get good at their jobs very fast.

      • astropenguin5@lemmy.world
        link
        fedilink
        English
        arrow-up
        25
        arrow-down
        1
        ·
        2 days ago

        I think the problem is that for now, it will always continue to require that hand-holding, whereas interns/new programmers will need less and less over time and become more independent over time

  • Smoogs@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    1 day ago

    I like how no liability is even spoken about until after something goes wrong.

    • Chloé 🥕@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      isn’t it fun how every major operating system is vibe coded now

      windows is an unstable mess, macos’s new ui is the most broken it’s been in decades, and linux is getting one new vulnerability per day. the future is exciting!

      • abstractastronaut@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        15 hours ago

        I agree with the sentiment, but to be fair, the two latest major Linux vulnerabilities have been present in the kernel since around 2017, which predates vibe coding by a couple of years.