• ssillyssadass
    link
    fedilink
    212 days ago

    I don’t know what vibe coding is, but I’m assuming it’s when you relax in your chair, lean back, place your hands on the keyboard and just type. Let the vibes guide your code.

    • lad
      link
      fedilink
      English
      252 days ago

      Vibe coding is when you’re not coding, just typing prompts into AI in hopes it will produce a legible code.

      • Captain Poofter
        link
        fedilink
        English
        172 days ago

        i tried that one time. it was the only time i tried to use AI for something actually useful that i needed. i wanted to write some simple JavaScript that would rapidly flash 3 equally sized images on the screen of a handheld linux machine. the AI provided a list of instructions of software and other prerequisites i would need. after installing everything and entering in the code provided into the software, it immediately started yelling warning signs at me about the code. nothing ran. it was all useless. it felt like talking to a paranoid schizophrenic. the ai was so sure of the code, and insisted that i must be making a mistake, and kept apologizing and providing more useless code. it was literally just like talking to a paranoid schizophrenic at a bus stop, insisting all the crazy shit they’re saying REALLY makes sense, if only you’ll let them explain it to you further.

        what trash.

        • @Blackmist@feddit.uk
          link
          fedilink
          English
          52 days ago

          Given how it “learns”, asking for the same homework questions people have asked for on stack overflow a thousand times already would likely give a decent answer.

          Asking it something new will produce plausible looking gibberish.

          It has no idea which is which. It doesn’t know where the limits of its knowledge lie. It just knows that the answer looks like code and is very confident, and that any follow up issues can be dealt with by outputting more nonsense code and an excuse.

        • @Solemarc@lemmy.world
          link
          fedilink
          12 days ago

          I had a fun one this week! I needed to make an SQL query that would aggregate rows by invoice and date, but only aggregate 5 then overflow to a new row. I also needed to access the individual row data because the invoice items weren’t summed, they were displayed on separate columns!

          I ask my senior if there’s an easy way to do this, he comes back with “chatgpt says you can assign row numbers then get individual row data with % row number”

          I go to Gemini and ask “how to aggregate rows by 5 and get individual row data out?” It says “you can’t” (since when has Ai’s been able to say you can’t do X) So I ask it about the modulo operator and it gives me an example that doesn’t really work. After screwing around for a while I give up and decide I’ll just run this query 3 times. 1 for rows 1-5 then for 6-10 and one more for 11-15 that’s so many rows surely no one will break this.

        • Caveman
          link
          fedilink
          12 days ago

          These AIs really suck at writing correct code but I’ve had good success in having them write code generators. I recently made it write a script that takes a SQL create table statement and converts in to TS and gives insert update, delete and whatnot and also creates a simple class that handles the operations.

          I had to write the original code by hand but having it write code that writes boilerplate which I correct is pretty good.

          Other code is hit or miss IMO

          • @Blackmist@feddit.uk
            link
            fedilink
            English
            32 days ago

            I consider boilerplate code output like that to be well within reach of simple tools though. Tools that didn’t need a year to learn from hundreds of terabytes of examples, 20GB of VRAM, or the power use of a small city.

            • Caveman
              link
              fedilink
              3
              edit-2
              2 days ago

              Don’t get me wrong, I still write more than 98% of code by hand and of course, I can write those functions myself in 30m myself but I can get it in 60s with the AI. LLMs can write code to that does parse - > model - > map - > format with only one or two easy to fix bugs.

              It’s in the very niche cases where it’s just tedious to write something out that LLMs actually work. “Write an API client that uses [library] that handles these requests/responses” comes also to mind as something that would work.

              I’m using now also to learn react native where I get bugs I’m very unfamiliar with and SO doesn’t give me a good answer.

              I’ve also had decent success at having it review my code with “how would I further optimise this code” and it gives me some pointers and then writes buggy code but the approach is correct usually and I can implement it myself.

    • @mriormro@lemm.ee
      link
      fedilink
      72 days ago

      It’s when you relax the sphincter of your mind and let the llm gape you with its knowledge.

    • @Uruanna@lemmy.world
      link
      fedilink
      22 days ago

      Almost, finish that first sentence with “the ChatGPT prompt and copy-paste the result without reading.”

    • Oniononon
      link
      fedilink
      English
      22 days ago

      Its when you start a new program without any clear intention or goals and just use current emotion to guide you.

      • pooberbee (they/she)
        link
        fedilink
        322 days ago

        Seems like not a real programming paradigm, and I don’t mean in a No True Scotsman way. It really is in a separate category of thing. Could’ve said logic programming or stack-oriented programming.

        • @HiddenLayer555@lemmy.mlOP
          link
          fedilink
          English
          6
          edit-2
          2 days ago

          Yeah fair enough now that I think more about it. IDK I just find the concept really cool so I included it.

          • @barsoap@lemm.ee
            link
            fedilink
            72 days ago

            It’s fine memes are permitted to make jokes and it’s more of a paradigm than vibe coding.

            The one paradigm that’s actually missing is logic programming, I would’ve gotten rid of unstructured to include it. The whole paradigm thing really only started with Dijkstra’s rant about unstructured gotos (not the ones C has, in C you can’t jump to the middle of another function).

          • Aatube
            link
            fedilink
            72 days ago

            you could’ve had declarative (e.g. ReactJS, Jetpack Compose) lol

      • @Speiser0@feddit.org
        link
        fedilink
        132 days ago

        When you write code for a “runtime” that wasn’t intended to run your code.

        That definition would be too broad, as includes any type of exploit.

        In ROP, you modify the stack to write return addresses and then return to jump to the first of these addresses, the return addresses go to parts of the executable that end with a return instruction (gadgets), so it will always return to the next of your return address.

        (That video is maybe not the easiest introduction to ROP.)

        Having ROP in here as normal programming paradigm, as opposed to vibe coding, made the meme so much better.

    • @TheKMAP@lemmynsfw.com
      link
      fedilink
      English
      1
      edit-2
      2 days ago

      Do you know what a memory stack and assembly are?

      If you want code that does assembly operations A, B, and then C, you might be able to accomplish it by scanning loaded memory (or its corresponding binary) for bits that, when translated into assembly, do:

      A

      D

      return

      This set of three instructions is a gadget. In practice, it’s a location in memory.

      And then you find another gadget.

      B

      C

      return

      Then, if you don’t care about D, or D does something irrelevant that won’t screw up what you’re trying to do, or won’t crash the program, you can replace the stack with the addresses of gadgets one and two. When gadget one returns, the stack is popped and then gadget two executes.

      Since the computer did ADBC and D was irrelevant, the system executed your ABC malware and now you win.

      Is finding gadgets that execute actual malware hard? Surprisingly not!

  • @BigMikeInAustin@lemmy.world
    link
    fedilink
    English
    262 days ago

    I mean, if my boss understands that the output of vibe coding rarely works, i’m happy to chat with the AI all day if I keep the same salary.

      • @theolodis@feddit.org
        link
        fedilink
        32 days ago

        that’s not vibe coding then. And AI can be used like a junior dev, you give it simple instructions and check everything it does. Using it like that can probably boost performance of already good seniors, but not by the factor 10.

    • ℍ𝕂-𝟞𝟝
      link
      fedilink
      English
      102 days ago

      NGL I’m waiting for the first lawsuit where an engineer is sued by a company by vibe coding as they were told and caused irreparable harm to the company as the whole product has to be redone from the ground up.

      • @untorquer@lemmy.world
        link
        fedilink
        82 days ago

        But the product is also redone from the ground up by vibe coding because lessons are impossible to learn and corporate is infallible.

      • @ChickenLadyLovesLife@lemmy.world
        link
        fedilink
        English
        22 days ago

        caused irreparable harm to the company as the whole product has to be redone from the ground up

        Lol this is most projects for most companies I’ve worked for, long before AI came on the scene. Somehow these multi-year multi-million dollar disasters were never fatal.

  • @addie@feddit.uk
    link
    fedilink
    82 days ago

    No love for the ‘declarative’ programming paradigm? You can actually do some useful work with SQL or Ansible…

    • @barsoap@lemm.ee
      link
      fedilink
      32 days ago

      Functional is also declarative because control flow is implicit/unspecified.

      What’s actually missing is logic programming, of which the likes of SQL are a subset.

      • @frezik@midwest.social
        link
        fedilink
        52 days ago

        There are scripting extensions to SQL that definitely are. There are some features in some SQL servers that make it Turing Complete even without scripting stuff.

        https://stackoverflow.com/questions/900055/is-sql-or-even-tsql-turing-complete

        Like HTML5+CSS3 being Turning Complete, it’s easy to add features that accidentally make you hit the threshold. Many would argue that it’s a sign complexity has run away from you, and I tend to agree.

      • @addie@feddit.uk
        link
        fedilink
        32 days ago

        Frezik has a good answer for SQL.

        In theory, Ansible should be used for creating ‘playbooks’ listing the packages and configuration files which are present on a server or collection of servers, and then ‘playing the playbook’ arranges it so that those servers exist and are configured as you specified. You shouldn’t really care how that is achieved; it is declarative.

        However, in practice it has input, output, loops, conditional branching, and the ability to execute subtasks recursively. (In fact, it can quite difficult to stop people from using those features, since ‘declarative’ doesn’t necessarily come easily to everyone, and it makes for very messy config.) I think those are all the features required for Turing equivalence?

        Being able to deploy a whole fleet of servers in a very straightfoward way comes as close to the ‘infinite memory’ requirement as any programming language can get, although you do need basically infinite money to do that on a cloud service.

      • @barsoap@lemm.ee
        link
        fedilink
        22 days ago

        Pure SQL, as in relational algebra, is LOGSPACE/PTIME. Datalog is PTIME-complete when the program (“query”) is fixed, EXPTIME-hard otherwise.

        It’s all quite tractable, but there’s definitely turing-complete declerative langugages. Not just pretty much every functional language, but also the likes of prolog.

    • Independently of what your position to vibe-coding or LLMs are: Vibe coding just isn’t any programming paradigm. A programming paradigm describes the structure of the program, often on a grammatical (programming language) level (e.g. declarative vs imperative). While “Vibe Coding” can lead to using one or the other paradigm, but is not a paradigm itself, it’s a tool to achieve that, similar as using an IDE with code-completion to generate code.

    • @GreenKnight23@lemmy.world
      link
      fedilink
      52 days ago

      the printing press didn’t unlawfully steal content and print exabytes of shit-streaked garbage.

      the printing press expanded the potential for knowledge to be shared at a higher volume and speed due to the nature of mass printing.

      it was more akin to multi-core hyperthreading than AI.

      I think what you mean is that AI is like the discovery of distribution of electricity. the story of where a self-educated immigrant attempted to sell his method of distribution that was safer and more pragmatic, was slandered and tormented by a tech oligarch that had no qualms with electrocuting elephants in public. oh and not to mention Thomas Edison didn’t even “invent” AC power, he stamped his name on it and falsely claimed he did. sounds like some other tech bro we know today…

      this is the problem with you “AI bros”, you can’t even provide a valid argument because your brain has turned to dog shit from using AI 100% of the time.

    • @CanadaPlus@lemmy.sdf.org
      link
      fedilink
      4
      edit-2
      2 days ago

      You’d have a point if this was an artist community, but coding AI as it exists does not work that well.

      I’d give a better example, but most of the technologies that didn’t actually work are lost to history. Hmm, maybe reapeating crossbows and that giant 40-reme boat that the one Greek king built?

  • @homura1650@lemm.ee
    link
    fedilink
    92 days ago

    You lost me at return oriented programming. Getting something working out of that is way more difficult than doing it out of vib coding. (Way more impressive though)