I’ve seen a few articles saying that instead of hating AI, the real quiet programmers young and old are loving it and have a renewed sense of purpose coding with llm helpers (this article was also hating on ed zitiron, which makes sense why it would).

Is this total bullshit? I have to admit, even though it makes me ill, I’ve used llms a few times to help me learn simple code syntax quickly (im and absolute noob who’s wanted my whole life to learn code but cant grasp it very well). But yes, a lot of time its wrong.

  • Sicklad@lemmy.world
    link
    fedilink
    arrow-up
    31
    ·
    20 days ago

    From my experience it’s great at doing things that have been done 1000x before (which makes sense given the training data), but when it comes to building something novel it really struggles, especially if there’s 3rd party libraries involved that aren’t commonly used. So you end up spending a lot of time and money hand holding it through things that likely would have been quicker to do yourself.

    • kewjo@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      20 days ago

      the 1000x before bit has quite a few sideffects to it as well.

      • lesser used languages suffer because there’s not enough training data. this gets annoying quickly when it overrides your static tools and suggests nonsense.
      • larger training sets contain more vulnerabilities as most code is pretty terrible and may just be snippets that someone used once and threw away. owasp has a top 10 for a reason. take input validation for example, if I’m working on parsing a string there’s usually context such as is this trusted data or untrusted? if i don’t have that mental model where I’m thinking about the data i might see generated code and think it looks correct but in reality its extremely nefarious.
  • sobchak@programming.dev
    link
    fedilink
    arrow-up
    13
    ·
    19 days ago

    In the grand scheme of things, I think AI code generators make people less efficient. Some studies have come out that indicate this. I’ve tried to use various AI tools, as I do like fields of AI/ML in general, but they would end up hampering my work in various ways.

  • iglou@programming.dev
    link
    fedilink
    arrow-up
    12
    ·
    19 days ago

    I’m not against AI use in software development… But you need to understand what the tools you use actually do.

    An LLM is not a dev. It doesn’t have the capability to think on a problem and come up with a solution. If you use an LLM as a dev, you are an idiot pressing buttons on a black box you understand nothing about.

    An LLM is a predictive tool. So use it as a predictive tool.

    • Boilerplate code? It can do that, yeah. I don’t like to use it that way, but it can do that.
    • Implementing a new feature? Maybe, if you’re lucky, it has been trained on enough data that it can put something together. But you need to consider its output completely untrustworthy, and therefore it will require so much reviewing that it’s just better to write it yourself in the first place.
    • Implementing something that solves a problem not solved before? Just don’t. Use your own brain, for fuck’s sake. That’s what you have been trained on.

    The one use of AI, at the moment, that I actually like and actually improves my workflow is JetBrains’ full line completion AI. It very often accurately predicts what I want to write when it’s boilerplate-ish, and shuts up when I write something original.

  • southernbrewer@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    19 days ago

    I’m enjoying it, mostly. It’s definitely great at some tasks and terrible at orhers. You get a feel for what those are after a while:

    1. Throwaway projects - proof of concepts, one-off static websites, that kind of thing: absolutely ideal. Weeks of dev becomes hours, and you barely need to bother reviewing it if it works.

    2. Research (find a tool for doing XYZ) where you barely know the right search terms: ideal. The research mode on claude.ai is especially amazing at this.

    3. Anything where the language is unfamiliar. AI bootstraps past most of the learning curve. Doesn’t help you learn much, but sometimes you don’t care about learning the codebase layout and you just need to fix something.

    4. Any medium sized project with a detailed up front description.

    What it’s not good for:

    1. Debugging in a complex system
    2. Tiny projects (one line change), faster to do it yourself
    3. Large projects (500+ line change) - the diff becomes unreviewable fairly quickly and can’t be trusted (much worse than the same problem with a human where you can at least trust the intent)
  • Ledivin@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    19 days ago

    Its an absolute gamechanger, IMO - the research phase of any task is reduced to effectively nothing, and I get massive amounts of work done when I walk away from my desk, because I plan for and keep lists of longer tasks to accomplish during those times.

    You need to review every line of code it writes, but that’s no different than it ever was when working with junior devs 🤷‍♂️ but now I get the code in minutes instead of weeks and the agents actually react to my comments.

    We’re using this with a massive monorepo containing hundreds of thousands of lines of code, and in tiny tool repos that serve exactly one purpose. If our code quality checks and standards werent as strict as they have been for the past decade, I think it wouldn’t work well with the monorepo.

    The important part is that my company is paying for it - I have no clue what these tools cost. I am definitely more productive, there is absolutely no debate there IMO. Is the extra productivity worth the extra cost? I have literally no idea.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    8
    ·
    20 days ago

    The hate is ridiculous as is the hype.

    It’s a new tool that is often useful when used correctly. Don’t use it to write entire applications - that’s a recipe for disaster.

    But if you’re learning a new language it’s amazing. You have an infinitely patient and immediately available tutor that can teach you a language’s syntax, best practices, etc. I don’t know why that would make you “ill” besides all the shame “real developers” seem to want to lump on anybody who uses AI. If you’re not concerned about passing some “I don’t use an IDE” nerd’s purity test you’ll be fine.

  • criss_cross@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    20 days ago

    From my experience it’s really great at bootstrapping new projects for you. It’s good at getting you sample files and if you’re using cursor just building out a sample project.

    It’s decent at being an alternative to google/SO for syntax or previously encountered errors. There’s a few things it hallucinates but generally it can save time as long as you don’t trust it blindly.

    It struggles when you give it complex tasks or not-straightforward items. Or things that require a lot of domain knowledge. I once wanted to see what css classes were still in use across a handful of react components and it just shat the bed.

    The people who champion AI as a human replacement will build a quick proof of concept with it and proclaim “oh shit this is awesome!” And not realize that that’s the easy part of software engineering.

  • fubarx@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    19 days ago

    I use it mainly to tweak things I can’t be bothered to dig into, like Jekyll or Wordpress templates. A few times I let it run and do a major refactor of some async back-end code. It botched the whole thing. Fortunately, easy to rewind everything from remote git repo.

    Last week I started a brand new project, thought I’d have it write the boilerplate starter code. Described in detail what I was looking for. It sat there for ten minutes saying ‘Thinking’ and nothing happened. Killed it and created it myself. This was with Cursor using Claude. I’ve noticed it’s gotten worse lately, maybe because of the increased costs.

  • JoeKrogan@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    19 days ago

    I use it now and again but not integrated into an ide and not to write large bits of code.

    My uses are like so

    Rewrite this rant to shut the PO/PM up. Explain why this is a waste of time

    Convert this excel row into a custom model.

    Given these tables give me the sql to do xyz.

    Sometimes for troubleshooting an environment issue

    Do I need it , no. But if it saves me some time on bullshit tasks then thats more time for me

    • andyburke@fedia.io
      link
      fedilink
      arrow-up
      9
      ·
      20 days ago

      My brother in programming,

      please don’t use AI for data format conversion when deterministic energy efficient means are readily available.

      • an old man.
      • JoeKrogan@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        20 days ago

        It was just an example to illustrate the point. I use specific convertors for actual format conversions. Actual uses have been map it to a custom data model .

        You are right though , right tool for the job and all that.

  • AMillionMonkeys@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    20 days ago

    I’ve had good luck having it write simple scripts that I could easily handle myself. For example, I needed a script to chop a directory full of log files up into archives, with some constraints. That sort of thing.
    I haven’t tried it on anything more substantial.
    This was using Copilot because I haven’t found a good coding model that will run locally on 16GB VRAM.

  • shalafi@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    20 days ago

    Not a programmer, but I used it at my last job to get over humps where I was stuck on PowerShell scripts. AI can show you a path you didn’t know or hadn’t thought about. The developers seemed to be using it the same way. Great tool if you don’t completely lean on it and you know enough to judge the output.

  • VoterFrog@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    19 days ago

    My favorite use is actually just to help me name stuff. Give it a short description of what the thing does and get a list of decent names. Refine if they’re all missing something.

    Also useful for finding things quickly in generated documentation, by attaching the documentation as context. And I use it when trying to remember some of the more obscure syntax stuff.

    As for coding assistants, they can help quickly fill in boilerplate or maybe autocomplete a line or two. I don’t use it for generating whole functions or anything larger.

    So I get some nice marginal benefits out of it. I definitely like it. It’s got a ways to go before it replaces the programming part of my job, though.

    • leftzero@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      My favorite use is actually just to help me name stuff.

      Reverse dictionary lookup, more or less.

      Now, that is something LLMs should be actually good at, unlike practically any other thing they’re being sold as being good at.

  • MXX53@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    19 days ago

    I like using it. Mostly for quick ideation, and also for getting rid of some of the tedious shit I do.

    Sometimes it suggests a module or library I have never heard of, then I go and look it up to make sure it is real, not malicious and well documented.

    I also like using my self hosted AI to document my code base in a readme following a template I provide. It gets it pretty good and usually is like 60-80% accurate and to the form I like. I just edit up the remaining and correct mistakes. Saves me a ton of time.

    I think the best way to use AI is to use it like a tool. Don’t have it write code for you, but use it to enhance your own ability.

  • RheumatoidArthritis@mander.xyz
    link
    fedilink
    arrow-up
    3
    ·
    20 days ago

    Programmers are promoted to architects who write high-level specs with a subordinate to do the leg work (AI). I think the hate is because not everyone is good at planning and some people are better at perfecting implementation details, and AI isn’t helpful there.

    • lad@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      19 days ago

      If by promoted you mean required to do architect’s but not qualified, nor paid for that

  • asm@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    19 days ago

    I’m somewhat new to the field ~1.5 years, so my opinion doesn’t hold too much weight.

    But in the embedded field I’ve found AI to not be as helpful as it seems to be for many others. The one BIG thing is has helped me with is I can give it a data sheet and it’ll spit out all the register fields that I need, or help me quickly find information that I’m too lazy to Ctrl-f, which saves a couple minutes.

    It has not proven it’s worth when it comes to the firmware itself. I’ve tried to get it to instantiate some peripheral instances and they never ended up working, no matter how I phrased the prompt or what context i’ve given it.