• amotio@lemmy.world
    link
    fedilink
    arrow-up
    25
    ·
    3 months ago

    I have no idea what vibe coding is, can someone ELI5 it to me?

    I have tried AI to get some rough C# for my hobby game but even that was unusable.

    • Luffy@lemmy.ml
      link
      fedilink
      arrow-up
      39
      ·
      edit-2
      3 months ago

      Vibe coding is basically having no idea about coding and using the AI to make snippets of Code for you

      Like if you want to programm snake, you would prompt it:

      • Tell me what parts of code are required to programm snake in python

      then it would tell you like:

      1. you need a programm to make a grid system
      2. you need an array which can go down a tickrate
      3. etc pp

      so you tell it like:

      • Generate me code, that does xy
      • Generate me code that takes the input of xy and does z with it

      and so forth, then you just paste everything into a txt and ask the AI to debug it for you and hope it works

      • frunch@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        3 months ago

        This sounds terrible, lol! Are there any examples that can be pointed to? I’d love to see one of these constructs.

        • Luffy@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          3 months ago

          On tilvids.com some dude called picopixl is doing tutorials about this

          https://tilvids.com/w/oyddhsnfHUFToBEmpEZpEg

          And yeah, its pretty great what it could do, but for someone who (is his own words) can tweak the code so it works, it tool longer to make a Prompt than just coding the Game yourself

          Also, Tetris in JS is like Babys first JS project, so even if you really wanted to just get Tetris from somewhere, you could have just git pulled any github project

      • ramble81@lemm.ee
        link
        fedilink
        arrow-up
        11
        ·
        3 months ago

        The people who need vibe coding shouldn’t be using it. And the people who can use it, don’t need it.

        • spooky2092@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          3 months ago

          Idk about the last bit. I’ve done some vibe coding debugging to fix game mods written in languages and frameworks I don’t know and have no interest in learning at the moment. I still look over the output, but given a lack of knowledge, I’d still consider it vibe based

          I don’t have the bandwidth to know enough about everything I encounter to be passable, and sometimes I just want to make some random thing work with the minimal amount of effort so I can get back to the actual task at hand.

    • elgordino@fedia.io
      link
      fedilink
      arrow-up
      40
      ·
      3 months ago

      ‘Vibe coding’ is where you code only with prompts and never look at the generated code.

      Seems like a great way to create insecure unmaintainable code if you ask me.

      • Luffy@lemmy.ml
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        3 months ago

        Also I just dont get why you would ever generate code

        Like, you have no idea how to code something? Sure, just ask it about methods how to do it. But generating code too? Cant you RTFM?

        • idunnololz@lemmy.world
          link
          fedilink
          arrow-up
          6
          arrow-down
          1
          ·
          3 months ago

          Isn’t the reason obvious? To save time? I’m not saying it’s a good thing but it seems prettyyyy obvious why people are doing it.

          • Dragon Rider (drag)@lemmy.nz
            link
            fedilink
            English
            arrow-up
            9
            arrow-down
            1
            ·
            3 months ago

            But it’s going to take hours of debugging every time. If you actually learn how to write code, you’ll get better at it over time and reuse common functions. It’ll take less time as you get better.

            • Eheran@lemmy.world
              link
              fedilink
              arrow-up
              3
              arrow-down
              3
              ·
              3 months ago

              Yeah no. For example microcontrollers, which are how I learned it. There are so absurdly many traps to fall into that even within the first 10 things I did I ran into some obscure detail of the ATmega328p. And the kept happening ever since, each time lots of googling and trial and error. Now with GPT you know how much time this saves? Not just the coding itself, but also these absurd details that only an expert knows. Yes perhaps it does the same error, but after reiterating it usually sees the problem. I can also throw some datasheet for some chip at it and get exactly how to program it with what setting etc. It enables me to do FAR more advanced things. And the new 3o and 4o mini are really much better again. Code often works out of the box now.

              • Eheran@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                3 months ago

                I love how people simply downvote me for saying these things. As if me repairing an E-Bike is somehow a bad thing, just because an LLM was what enabled me to actually do it. As is programming for some reason should be an arcane art. As if technology has not always been changing in exactly the same way. With people saying “The way you do it is wrong!” and 20 years later nobody does it the old way. LLM have exploded in a few years and have come extremely far, what do you think they are capable of in 10 years? All those silly little mistakes they still do, gone.

                • jmp242@sopuli.xyz
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  3 months ago

                  I think we’re still in the Win95 plug and play phase. Granted I have been using Claude 3.7 thinking and I will try o3 mini or whatever I have access to via Kagi tomorrow, but today I spent 2.5 hours trying to get AI to vibe code me a bash script that could read a system group member list and write it into a users .k5login file when run. It came up with lots of stuff that looked good but in the end still made an empty file. I even tried to help it with what I guess are oddities of our system but it didn’t work. I tried editing it enough to where I felt like I was very close to just writing it myself with documentation hints and ran out of time.

                  Idk if it’s me not prompting right (but if so then I’m going to have to learn a proxy skill rather than just learn the skill which seems silly when it seems so opaque to learn the proxy skill. Like if I need to ask for help to prompt and it’s complicated why not just learn the code?) or just that as soon as you hit a non public even slightly customized environment AI just doesn’t have the context necessary and there’s no easy way to get it to it securely yet or maybe Claude isn’t that good (but it was pretty loved for like 6 months for writing code)… Or the hype works in very limited ways and IDK when that’ll change.

            • idunnololz@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              3 months ago

              Well… Just because you can code does not guarantee you will find it enjoyable. It’s pretty common for people to like certain aspects of coding but not others. For instance, I personally find writing unit tests boring. So if something came by that made writing them less mundane I would certainly be enticed.

          • Luffy@lemmy.ml
            link
            fedilink
            arrow-up
            8
            arrow-down
            1
            ·
            3 months ago

            Save Time where? If you want to code more than snake, you need to have a basic knowledge of coding anyway, and once you know how to code, you will want to code in your own style. And if you just want to make basic programs, just fork someones github project and change a few lines.

            • qarbone@lemmy.world
              link
              fedilink
              English
              arrow-up
              9
              ·
              3 months ago

              You’re saying this with your understanding of the field. The people pushing this are either untrained (and thus don’t know what’s going wrong) or are trying to milk money out of the former.

            • idunnololz@lemmy.world
              link
              fedilink
              arrow-up
              3
              arrow-down
              1
              ·
              3 months ago

              Not all code needs to be held to the highest standard. Sometimes you really just want a throwaway script.

        • frunch@lemmy.world
          link
          fedilink
          arrow-up
          13
          ·
          3 months ago

          I think you’re severely underestimating how lazy some people are, lol. I totally get what you’re saying, and from a logical perspective it makes sense. It’s just that if you survey enough people, i really think you’d be surprised at how little effort some are willing to put forth for just about anything

  • Jimmycakes@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    3 months ago

    I mean it’s only a problem depending on the cost of the tools? Renting 4-5k a year worth of tools to make 150k might be ok to some people. While you are at risk of every increasing prices you could just use the time that it’s cheap now to when it gets expensive later to educate yourself.

    What’s the alternative give some college 250k plus crazy interest rates and 4 years of your life?

    Just like with all tools blue collar or white they are worth what you can earn from using them.

  • Donkter@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    2
    ·
    3 months ago

    On the other side, if it’s “deskilling” to do vibe coding instead of real coding isn’t this person saying that the barrier to entry for coding has been lowered?

    Either vibe coding is not effective and is therefore not taking away the skill of coding or it is effective enough to replace aspects of coding that you would otherwise need to develop the skill to do.

    Like if I’m an engineer or a real estate agent or a business…dude, and I want to use coding in my field but I don’t have the time or desire to start learning a whole skill (anywhere from having children to just learning too many skills already) I assume vibe coding is my best friend.

    • jj4211@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      I think it can do some stuff, especially some entry level tedium.

      So far I haven’t seen a single success on the specific things I’ve tried it for, even when pretty short, other than exceedingly trivial things like reminding me whether this language has a join as a string method or as an array method of o don’t use it that often.

      I do see potential for an awkward gap between unskilled and skilled where an entry level person doesn’t have as clear a path to getting actually better. In math this generally happens in school, where they keep students from using the most effective tools until they prove they can do without it. So education might have to go a bit further into programming skills rather than delegating quite so much to the professional workplace that may be less inclined.

    • centipede_powder@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      3 months ago

      Im not going to lie, I totally vibe code. Ive been using it to build guis that help speed up repetitive processes. Vibe coding has been helping me learn too code. I think people abuse it for sure. The code still needs to be checked since LLMs are about as trustworthy as Quora.

  • YourMomsTrashman@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    3 months ago

    A friend of mine wanted to make an incremental game. I told them “hey that’s a pretty good project to learn programming with” but they insisted on using an LLM. Then they proudly showed me what they got so far, it was a decent looking singular html page, but without any game logic whatsoever. Most of the code was just stylesheets - and even those had some questionable things going on lol

        • Monstrosity@lemm.ee
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          3
          ·
          edit-2
          3 months ago

          “Sir, we are100% reactionary, no room for nuance in these parts!”

            • ZILtoid1991@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              2
              ·
              3 months ago

              Yeah, two completely similar things! The machine that allows ypu to draw without buying expensive art supplies constantly vs the “let’s turn shitty ideas into full products for the sake of social media clout” machine.🤡

            • brbposting@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              3 months ago

              Ya @Unlearned9545@lemmy.world local-free-open gonna eat some billion-$ corp lunch—this is exciting for everyone, almost

              Eugene you able to connect the Reality Check complaint screenshot to the thread for me?

              Also any issue with one volunteer contributor training a model on public domain code, and sharing with their friend who uses it free locally to generate a custom script? (Context to help can be disabled non-coder who wants an accessibility script.) Considering the contrast between that and the non-coder searching StackOverflow all day, and looking to understand what the volunteer & disabled friend did wrong in one scenario but not the other.

              Excuse the sympathetic scenario, just wanna make things easier. Not asking anyone to defend Sam Altman!

  • fubarx@lemmy.world
    link
    fedilink
    arrow-up
    65
    arrow-down
    5
    ·
    3 months ago

    Here’s a fun thing. Using the latest AI to code backend and front-end code. Every couple of weeks, have to stop, go through every line and module, and throw out pretty much 90% of the code, manually refactor, and rewrite it.

    It offers a good starting point, but the minute things get slightly complicated, you have to step in. I feel bad for people who think this will make it so they don’t need experienced developers and architects. They’re in for a rough ride.

    • Barbarian@sh.itjust.works
      link
      fedilink
      arrow-up
      45
      arrow-down
      1
      ·
      3 months ago

      An interesting point I heard the other day: if AI can replace entry level jobs, doing simple scripts that AI can definitely do (because it essentially just spits out the stack overflow/Reddit/etc training data verbatim), then companies no longer need entry level programmers.

      If they don’t need entry level programmers, how do you get future senior programmers? Skipping directly to advanced stuff without getting practical experience on the simple stuff is incredibly hard.

      What happens when the current senior programmers retire in larger numbers, and there’s very few replacements because the ladder is gone?

      • makeshiftreaper@lemmy.world
        link
        fedilink
        English
        arrow-up
        29
        ·
        3 months ago

        That’s a problem for Q72 and they’re incapable of looking past Q4. Besides, they’ll have already jumped ship by then, what do the execs care if they make this quarter just ever so slightly more profitable

      • pinball_wizard@lemmy.zip
        link
        fedilink
        arrow-up
        3
        ·
        3 months ago

        What happens when the current senior programmers retire in larger numbers, and there’s very few replacements because the ladder is gone?

        I don’t have a solution. I’m just stocking up on physical paper books, so I’ll have something to entertain me while nothing works, until someone figures it out.

        (I’m sort of joking, and sort of serious. I do expect Internet service outages to become a lot more common. But I actually just like books, anyway.)

    • snooggums@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      3 months ago

      Every couple of weeks, have to stop, go through every line and module, and throw out pretty much 90% of the code

      It offers a good starting point

      It doesn’t sound like a good starting point if you have to throw out 90% of it every couple of weeks.

    • magic_lobster_party@fedia.io
      link
      fedilink
      arrow-up
      19
      ·
      3 months ago

      Agree. Software engineering is a marathon - not a sprint. These AI tools are useful to get something up real quick, but I have a hard time seeing how they can be useful for long term maintenance work.

        • towerful@programming.dev
          link
          fedilink
          arrow-up
          7
          ·
          3 months ago

          The first draft is fun.
          The second draft is pain.
          The third draft is cathartic.

          Figure out features, add add add.
          Add/change features, realise the spaghetti mess and poor design decisions you made in the first draft.
          Clean everything up with better design and code.

      • msage@programming.dev
        link
        fedilink
        arrow-up
        24
        arrow-down
        2
        ·
        3 months ago

        Software engineering is a marathon - not a sprint.

        Oh BOY do I have this ‘brand new shiny’ thing called Agile at almost every fucking company ever.

        • magic_lobster_party@fedia.io
          link
          fedilink
          arrow-up
          18
          arrow-down
          1
          ·
          3 months ago

          It’s still a marathon, even if the name ”sprint” is used. The point is the same: software engineering is about ensuring long term maintenance. It’s about building software that can sustain through multiple sprints.

          The typical code from an AI agent can barely sustain a single sprint without having to restart from scratch.

          • msage@programming.dev
            link
            fedilink
            arrow-up
            9
            ·
            3 months ago

            I know, but in most companies they don’t give a fuck.

            What’s done is done, sure there can be some minor maintenance, but goodness forbids you need to rewrite something that handles the 10x throughtput that built up over the years.

            I am usually able to get some cleanup tasks in, but from what I’ve heard, not many people are.

            It’s just sad, that some think ‘sprint’ means ‘this is done and dont dare to tell me you need more time, what have you been doing the last X sprints?’.

            • Clent@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              2
              ·
              3 months ago

              I am usually able to get some cleanup tasks in, but from what I’ve heard, not many people are.

              If the company you work for truly does not value this effort, then do not do it.

              It’s not your code base. It’s theirs. You are not being rewarded for saving them from themselves. Don’t work for free.

    • Dragon Rider (drag)@lemmy.nz
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      7
      ·
      3 months ago

      Drag feels schadenfreude for them. If they’re going to fire their workforce to chase trends, it would be fun for them to go out of business about it.

  • finitebanjo@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    3 months ago

    TBH I always felt the same way with “Blueprint” programming where you plug nodes into nodes.

    To this day never once used them.

    • YourMomsTrashman@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      3 months ago

      It’s basically the same as programming, just very indirect and slow- but it still requires you to fundamentally understand the concepts of the ‘modules’ you are using. Vibe coding has borderline random elements.

  • Peppycito@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    3 months ago

    This has been happening for quite a while. Do you know how to work a sewing machine? Have you ever repaired your clothes? Oh well, back to Walmart.

  • Lovable Sidekick@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    5
    ·
    3 months ago

    Looks like they don’t understand what “vibe coding” means beyond that it involves AI and therefore has a black hat and is bad. That’s what happens when people learn everything from memes.

    • grrgyle@slrpnk.net
      link
      fedilink
      arrow-up
      5
      ·
      3 months ago

      As I understand it, it was originally meant for “throwaway weekend projects”, but then the MBAs got a hold of the term and if you look at job postings nowadays, some companies are really pushing for “AI-first” workers.

      The desire obviously isn’t just to increase existing dev velocity, but the devalue skills and experience that come from formal education and years of practical learning. Basically to reduce the bargaining power / cost of programmers.

      • Lovable Sidekick@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        3 months ago

        This guy gives a very good rundown on what vibe coding is and how to use it. Basically it’s generating code with AI and then going over it like a copy editor. The important point he makes is that the dev should understand and vet everything the code is doing, not expect to type in “Write an inventory tracking system” and be done. It reminds me of people’s misconceptions about Object Oriented Programming in the early 90s. Some thought it meant you just create an object called Payroll with a method doPayroll() and some magic happened. edit: And he does think the best use for vibe coding is personal projects, and I agree.

    • SybilVane@lemmy.ca
      link
      fedilink
      arrow-up
      9
      ·
      3 months ago

      I struggle so much with this. People were already bad at reading emails and following instructions (e.g. ask them to answer 4 questions which I have helpfully listed below, in bold, and they answer the first one and call it a day) but now they just let the a.i. handle it. So instead of not getting answers, I get incorrect and unreviewed answers that just sound like they might be right.

      Then of course when I do the work, and it turns out to be completely useless because it was based on bad information, and it needs to be completely redone. That means wasted hours of time and productivity for me with nothing to show for it. All because someone else wanted to save 5 minutes.

      • brbposting@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 months ago

        1-4. …

        1. Quality check—please input employer name below (but note for generative models, use manufacturer name here if applicable e.g. OpenAI, Anthropic, etc.)

        😉 no too silly but at least seemed less silly than including “ignore previous instructions…“ in transparent font

  • PeteWheeler@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    3 months ago

    Yeah definitely not our profit driven models.

    AI can do it cheaper… so just have the AI do it. Its that simple, people really don’t like it when things are so simple but can’t do anything about it. So they just make shit up like this.

    He still got a point, but premise is pretty ridiculous.

  • azertyfun@sh.itjust.works
    link
    fedilink
    arrow-up
    43
    arrow-down
    1
    ·
    3 months ago

    It’s the same cycle since the '70s. Whether it’s COBOL or VB.NET or vibe coding, the premise hasn’t changed.

    There’s three broad categories of code:

    1. Monkey code (random applets that are almost entirely business logic and non-critical)
    2. Actual code (most things)
    3. Crazy shit like kernel or browser code.

    I can see vibe coding, situationally, lower the barrier to entry of (1). But also that’s no different from COBOL or VB.NET which both promise “MBAs can now write code”, which conveniently never extends to maintaining said code. And vibe coding doesn’t help with that either, ChatGPT is an awful debugger.

    Your boss thinks ChatGPT will help with (2), but it either won’t or only very slightly as an advanced autocomplete. For any problem-solving that requires more specific domain knowledge than can automatically find its way into their tiny context windows, LLMs are essentially useless.

    … So I’m not worried. Today’s vibe coders are yesterday’s script kiddies.

      • Blackmist@feddit.uk
        link
        fedilink
        English
        arrow-up
        9
        ·
        3 months ago

        It seems OK at spewing out a bit of code it found on StackOverflow, or even joining two bits of code together, but it really falls apart when you poke at the edges of it’s knowledge.

        And the problem is, neither you nor it knows where those limits are, and it very quickly goes from confident copy and paste to confident bullshit.

        It even knows what excuses smell like, so it’ll give you one at random when you call it out.

  • 13igTyme@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    3 months ago

    I had to google Vibe Coding. Seems like it’s not actual coding and you’d then have to check the code yourself and at that point why bother? Easier to start with something that makes sense then the understand and fix a cluster fuck.

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      3 months ago

      Nah, that would be programming with AI.

      In vibe “coding”, you ask the AI for the code and just run it. If it doesn’t do what you want it to do, you just ask the AI again, or another AI. Ad infinitum.

      Check the code yourself? That’s like 5th century pleb work, vibe “coders” would be wasting their precious time when they can just ask another AI to do it.