• normalexit@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 hours ago

    I’ve been writing code professionally for nearly two decades, and I love having copilot available in my IDE. When there is some boilerplate or a SQL query I just don’t want to write, it’ll oftentimes get me started with something reasonable that is wrong in a couple of subtle ways. I then fix it, laugh at how wrong it was, or use part of the proposed answer in my project.

    If you’re a non-corder, sure it is pure danger, but if you know what you’re doing it can give you a little boost. Only time will tell if it makes me rusty on some basics, but it is another tool in the toolbox now.

  • TORFdot0@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 hours ago

    I don’t have an encyclopedic knowledge of every random library or built-in function of every language on earth so what’s the difference between googling for an example on stack overflow or asking an LLM?

    If you are asking ChatGPT for every single piece of code it will be terrible because it just hallucinates libraries or misunderstands the prompt. But saying any kind of use makes you a bad programmer seems more like fud than actual concern

  • uis@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 hours ago

    I was saying AI for coding is bad until saw two pictures:

  • vane@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 hours ago

    Not using AI Generated Code won’t make you programmer at all. It’s just another way to start a journey to alcoholism and loneliness in front of computer screen. The only difference is that this time you travel with junior developer for poor people.

  • mindaika@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 hours ago

    I don’t love AI, but programming is engineering. The goal is to solve a problem, not to be the best at solving a problem.

    Also I can write shitty code without help anyway

    • kiwifoxtrot@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 hours ago

      The issue with engineering is that if you don’t solve it efficiently and correctly enough, it’ll blow up later.

      • mindaika@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        17 hours ago

        Sounds like a problem for later

        Flippancy aside: the fundamental rule in all engineering is solving the problem you have, not the problem you might have later

        • CaptSneeze@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          16 hours ago

          Is this literally what they teach in school now? I’m asking this honestly. It would explain quite a lot about why we have such a hard time finding programmers and engineers under 50 who are able to think through simple interview questions about designing basic solutions.

          The past 2 programmers hired at my job lasted about 2 years each, and it was clear that they both would immediately move forward with the first “solution” that popped into their head for any problem. They’d “fix” a problem in minimal time, but this would cause TONS of wasted labor, troubleshooting, and travel downstream. They didn’t bother to think beyond the immediate “fix” for this problem with no regard for that problem it would cause for 2 other teams.

          We have a few other old school programmers that went through computer engineering and science degrees when it was more akin to philosophy. They are fantastic and I love working with them.

        • Croquette@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          0
          ·
          17 hours ago

          It’s rarely the case. You rarely work in vacuum where your work only affects what you do at the moment. There is always a downstream or upstream dependency/requirement that needs to be met that you have to take into account in your development.

          You have to avoid the problem that might come later that you are aware of. If it’s not possible, you have to mitigate the impact of the future problems.

          It’s not possible to know of all the problems that might/will happen, but with a little work before a project, a lot of issues can be avoided/mitigated.

          I wouldn’t want civil engineers thinking like that, because our infrastructure would be a lot worse than it is today.

          • mindaika@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            17 hours ago

            “Not blowing up later” would be part of the problem being solved

            Engineering for future requirements almost always turn out to be a net loss. You don’t build a distillation column to process 8000T of benzene if you only need to process 40T

            • reksas@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              0
              ·
              2 hours ago

              but you could design it to be easily scalable instead of having to build another even more expensive thing when you suddenly need to process 41T

  • chakan2@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    23 hours ago

    What’s really ugly is it makes really good code with fucking terrible bugs. My last job for all of six weeks was trying to fix and integrations wrapper of an integrations wrapper on a 3rd party library of integrations.

    It looked like really good code, but the architecture was fucked beyond repair. I was supposed to support it for a fortune 50. I quit before they could put me in the on call rotation.

  • the_toast_is_gone@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    Preface: If all you want is to get a simple script/program going that will more or less work for your purposes, then I understand using AI to make it. But doing much more than this with it will not help you.

    If you want to actually learn to code, then using AI to write code for you is a crutch. It’s like trying to learn how to write an essay by having ChatGPT write the essays for you. If you want to use an API in your code, then you’re setting yourself up for greater failure the more you depend on AI.

    Case in point: if you want to make a module or script for Foundry VTT, then they explicitly tell you not to use AI, partly because the models available online have outdated information. In fact, training AI on their documentation is explicitly against the terms of service.

    Even if you do this and avoid losing your license, you run a significant risk of getting unusable code because the AI hallucinated a function or method that doesn’t actually exist. You will likely wind up spending more time scouting the documents for what you actually want to do than if you’d just done it yourself to begin with.

    And if the code works perfectly now, there’s no guarantee that it will work forever, or even in the medium term. The software and API receive updates regularly. If you don’t know how to read the docs and write the code you need, you’re screwed when something inevitably gets deprecated and removed. The more you depend on AI to write it for you, the less capable you’ll be of debugging it down the line.

    This begs the question: why would you do any of this if you wanted to make something using an API?

  • half_built_pyramids@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    AI and the discussion around it doesn’t live in a vacuum.

    Occasionally you’ll get shit opinions like this. Easy slutty greek frat bro strawmen that’ll sleep with anything that moves and then dodge child support payments.

    We all have to remember the true Chad argument against AI is that it’s built on degenerate theft and corporate soulless shills. AI is the Shikrelli of creativity.

  • Nomecks@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 day ago

    Good. There’s a lot of non-programmers who are now bad ones and are using AI to make their ideas real. It’s made programming way more accessible to people who would never learn before.

    • Sabata@ani.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I got back into programming because I can ask an Ai my stupid questions I’m too dumb to google correctly. I haven’t otherwise wrote code since college and kinda revived a long dead hobby. It removes a barrier to entry that I otherwise gave up on. Been working on a project to teach myself python the last few months, with Ai replacing the roll of google for the most part.

      Copy-pasting Ai code still blows up in your face just as much as code you stole from stack overflow…

      • uis@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        16 hours ago

        Copy-pasting Ai code still blows up in your face just as much as code you stole from stack overflow…

        Show me difference:

        They are the same.

      • Croquette@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        17 hours ago

        The issue isn’t you doing your hobby projects however you want, it’s people being paid and produce LLM generated code.

        And the biggest issue is managers/c-suites thinking that LLMs can replace senior devs.

        And the biggest biggest issue is that the LLMs in their current mainstream form are terribly bad for the environment.

        • Nomecks@lemmy.ca
          link
          fedilink
          English
          arrow-up
          0
          ·
          15 hours ago

          Why wouldn’t you use AI as a shortcut if you can? Can you actually replace senior devs with AI? I’m sure that depends on the company and what they consider a “senior dev”. Maybe there’s some not-so-senior senior devs that should be worried.

      • LucidNightmare@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        22 hours ago

        I wouldn’t say you’re dumb when it comes to Google. Their search is just a broken mess of dog shit now.

      • chakan2@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        23 hours ago

        No…stack I can usually figure out from the context of questions what went wrong. AI will very confidently and eloquently give you a very subtle bullshit answer.

    • raker@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Can confirm. Using AI for coding for a couple of months now. There sure is a lot of copy and paste, trail and error, but without the assistance I would not have been able to enhance and customize code like that. Now I am some steps further and was even able to question the AI output, correct it, made it better. I am getting there: learning, optimizing, creating new stuff. It is fun. And when I compile the code, it runs. If not, I debug. Unthinkable for me a year ago.

    • kameecoding@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I use it to generate repetitive patterns that’s easy to guess what’s next, but PITA to write, eg. asserts in Unit tests

  • tias@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 day ago

    I’ll confess I only skimmed the article, but it seems like just a bunch of unsubstantiated opinions and I don’t buy it.

    Using AI generated code is like pair programming with a junior programmer. You tell the junior what to do and then you correct their mistakes by telling them how to do better. In my experience, explaining things to someone else makes you better at your craft. Typically this cycle includes me changing the code manually at the end, and then possibly feeding it back to ChatGPT for another cycle of changes.

    Apart from letting me realize and test my ideas quicker, this allows me to raise the abstraction level of my thinking. I can spend more time on architecture and on seeing the bigger picture, and less time being blinded by the nitty gritty details. I would say it makes me both a faster and a better programmer.

    • ourob@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      24 hours ago

      I’ve seen the comparison to pair programming with a junior programmer before, and it’s wild to me that such a comparison would be a point in favor of using AI for improving productivity.

      I have never experienced a productivity boost by pairing with a junior. Which isn’t to say it’s not worth doing, but the productivity gains go entirely to the junior. The benefits I receive are mainly improving my communication and mentoring skills in the short term, and improving the team’s productivity in the long term by boosting the junior’s knowledge.

      And it’s not like the AI works on the mundane stuff in parallel while I work on the more interesting, higher level stuff. I have to hold its hand through the process.

      I feel like the efficiency gains of AI programming is almost entirely in improving your speed at wrestling a chatbot into producing something useful. Which may not be entirely useless going forward - knowing how to search well is an important skill, this may become something similar, but it just doesn’t seem worth the hassle to me.

      • gramie@lemmy.ca
        link
        fedilink
        English
        arrow-up
        0
        ·
        16 hours ago

        I have done pair programming with a junior partner, and I found it extremely beneficial. Taking the time to talk out my ideas and logic invariably helped make them clearer in my mind and realize pitfalls much sooner than I otherwise would have.

        I had to explain things clearly and logically, and he was bright enough to ask good questions and point out typos as I was coding.

    • Sage1918@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Bugs never occur in the high-level/big picture land, it usually come up in the low-level/implementation land. Should you entrust these to AI ?

      • tias@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 day ago

        Only because bugs are defined as errors in implementation details. You can still have errors in your design (sometimes referred to as design bugs).

        It’s not about “entrusting” to AI any more than I would be entrusting important code to a junior developer to just go off and push to production on his own. We still have code review, pair programming etc. As I said, I read the output code, point out issues with it, and in the end make manual adjustments to fit what I want. It’s just a way of building up the bulk of the code more quickly and then you refine it.

  • TimeSquirrel@kbin.melroy.org
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    Try programming for a day without syntax highlighting or auto-completion, and experience how pathetic you feel without them. If you’re like me, you’ll discover that those “assistants” have sapped much of your knowledge by eliminating the need to memorize even embarrassingly simple tasks.

    That’s…how the world works. We move on. We aren’t programming computers by flipping toggle switches or moving patch cables around anymore either.

    • uis@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      16 hours ago

      ‘Try directly hand-coding bits into regions of memory without a compiler/linker and experience how pathetic you feel without it.’

      There was article about programming atmega with pulling electrodes in and out of salty water.

    • DreamButt@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Without syntax highlighting?? Sorry I guess my pretty colors are a weakness. Some people just want to be curmudgeons

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

      What a dumb take (in your quote). Autocompletion showing me all the members of an object is nothing like ChatGPT hallucinating members that don’t exist. Autocomplete will show you members you haven’t seen, or aren’t even documented.

      Not to mention they said syntax highlighting is a bad thing… Why use computers at all? Go back to the golden days of punchcards

      • Daedskin@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        21 hours ago

        From later in the article (emphasis author’s)

        Earlier in this article I intimated that many of us are already dependent on our fancy development environments—syntax highlighting, auto-completion, code analysis, automatic refactoring. You might be wondering how AI differs from those. The answer is pretty easy: The former are tools with the ultimate goal of helping you to be more efficient and write better code; the latter is a tool with the ultimate goal of completely replacing you.

      • umbrella@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 hours ago

        code in some mothballs if its gonna be unmantained for a while. thats like programming 101

  • r00ty@kbin.life
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    I’ve never had AI create working code anyway.

    But it will generally point me in the right direction. It’s useful for:

    1. Helping get your train of thought back in the right direction
    2. Automating what would be a lot of boilerplate/repetitive coding. Just beware you will still need to check it over.

    You need to be skilled to spot the mistakes it will definitely make.

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

    The same logic can explain why Teslas crash so often. You turn on all the assists, and eventually forget how to change gears.