Do chatgpt or other language models help you code more efficiently and faster? Is it worth spending your money for it?

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    1
    ·
    4 months ago

    I like Copilot, but I’ve found that uploading code to Microsoft is not exactly popular among employers. Local models aren’t very good in comparison, and feel more like the output of ChatGPT.

    For code and config samples, talking to Bing and Gemini is like talking to a junior dev that’s somewhere on the spectrum. I ask for a simple example or a quick function, and I get a load of documentation that I already know, followed by a sample that doesn’t really work. When I indicate the problem and ask for a fix, it confabulates a fix using some non-existent methods or config that it just assumes are present, and then infodumps some more related documentation.

    By the fourth time I’ve asked it to fix the obvious flaws in its approach or code, it forgot the original question and answers, and produces either snippets that have very little to do with the original task or it comes up with the same solution that I indicated had issues the first time.

    Talking to AI is like talking to a child with mild special needs. You need to be precise, you need to anticipate its reaction and compensate for potential distractions that may distract it halfway through its thought process, and it’s best to ask a completely different question if it shows the slightest sign of misinterpretation. Sometimes you need to manipulate it by promising things you’ll never live up to, like promising a $100 tip, because AI is not a real person and it’s okay to lie and deceive it even if it acts like a weird child.

    When it comes to writing, it’s like a kid that thinks that long words make you sound smart. I went through that phase at some point and I bet I was insufferable. It takes basic sentences and turns them into empty paragraphs. You tell it to be concise, and it repeats what you said with fancy sounding synonyms. Tell it to use simpler words, and it starts changing the meaning so that it can find simple words. And God forbid you ask a question in a language other than English.

    Oh, and it’ll still lie about basic things. After the latest updates, neither Google nor Microsoft will claim that the word ‘hound’ contains the letter F. However, Gemini claims there are no vowels in “hound” because “ou” is a diphthong (which is a type of vowel) and therefore does not contain any vowels. It still can’t do basic counting (“add the number of vowels to the number of consonants in the word” claims “nd” is a consonant to make the amount of letters work out to be 5). I, too, had a phase like that in primary school, where I figured out the answer to something and worked back from there instead of reasoning forward, and I was hilariously wrong about all kinds of things.

    Everything, and I mean everything, needs to be hand-checked as if you asked an intelligent primary school kid to write your blog. Assume every word is a lie, and validate what it’s saying, and you can save yourself the effort of writing stuff, but in my experience you end up spending more time editing down generated fluff than you would spend writing. Perhaps others aren’t as good at getting started on writing a topic and use AI to generate a jumping-off-point, I can see the value in that, but you have to be very careful not to trust the output or you’ll get sent down wilde goose chases trying to expand on the points it generates.

    These models are great for shitting out boilerplate, but if you need anything remote custom, I find that getting the AI to do its job is more time consuming than figuring out the solution manually. I suppose it may seem like a great tool for people without too much experience because of that, but I’m not so sure if the chat bot AIs are very useful beyond their limited basic understanding.

    However, AI is good at two things: actually finding web results based on a non-exact query (Google/DDG/Bing are ruined by SEO spammers, but AI seems to cut through that) and generating cool icons and header images for my projects’ README.md because I can’t be bothered to copy/paste clipart from the internet. AI is still terrible at actually quoting things from the internet (it’ll happily invert the meaning of sources or confabulate a correlation between two articles) but if you ignore the text and just click the links, it can be quite effective.

    Oh, and one thing AI does seem to excel at, is to take your text as an English-as-a-second-language speaker, or perhaps someone from a certain disadvantaged neighbourhood, and make you sound like a white man in his 50s. This can be a real benefit to immigrants and people with frowned-upon dialects trying to do things like apply for a job or express themselves to higher-ups in a way that they respect. Not because AI is all that useful, but because people suck and attach arbitrary opinions and values to certain expressions and uses of language that aren’t racist per se, but do end up disadvantaging people that are not like them.

    • Exocrinous@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      The reason LLM is like a child is that it doesn’t have critical thinking. It doesn’t think before it opens its mouth. LLM is the part of your brain that comes up with the first, most obvious answer. It’s Wernicke’s area going wild.

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    22
    ·
    4 months ago

    Not really, it’s been pretty useless for me. But I’m also a very senior developer, I’ve been coding for 18 years so more often than not I’m stuck on a problem much bigger than the best AI can possibly handle, just in amount of context needed to find out what’s wrong.

    It’s still much faster for me to just write the code than to explain what I want to an AI. IDE snippets and completion just makes it super quick. Writing out code is not a bottleneck for me, if anything I shit out code and shell commands without a thought. It comes out like it’s regular speech.

    I’m also at a point where I Google things out, and end up answering myself 5 years ago, or asking 5 years ago and there’s still zero answers to the question.

    I do see my juniors using Copilot a good bit though.

    • neutron@thelemmy.club
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      4 months ago

      I’ve only worked for about a year as coder. I’ve used LLM extensively for work. I kinda feel bad that I might be lazying out on actually learning how to do it myself.

  • MajorHavoc@programming.dev
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    edit-2
    4 months ago

    AI chatbots are sometimes quicker than using official library documentation. I daresay usually quicker, for anything but documentation that I know really well already.

    I haven’t spent my own money on a development tool in a long time, but I find it worth a few of my employer’s dollars.

    It’s hardly life-changing, but it’s convenient.

    I can’t comment on it’s mistakes or hallucinations, because I am a godlike veteran programmer - I can exit Vim - and so I - so far - have immediately recognized when the AI is off track, and have been able to trivially guide it back toward the solution I’m looking for.

  • kromem@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    4 months ago

    The chatbot version? Meh, sometimes, but I don’t use it often.

    The IDE integrated autocompletion?

    I’ll stab the MFer that tries to take that away.

    So much time saved for things that used to just be the boring busywork parts of coding.

    And while it doesn’t happen often, the times it preempts my own thinking for what to do next is magic feeling.

    I often use the productivity hack of leaving a comment for what I’m doing next when I start my next day, and it’s very cool when I sit down to start work and see a completion that’s 80% there. Much faster to get back into the flow.

    I will note that I use it in a mature codebase, so it matches my own style and conventions. I haven’t really used it in fresh projects.

    Also AMAZING when working with popular APIs or libraries I’m adding in for the first time.

    Edit: I should also note that I have over a decade of experience, so when it gets things wrong it’s fairly obvious and easily fixed. I can’t speak to how useful or harmful it would be as a junior dev. I will say that sometimes when it is wrong it’s because it is trying to follow a more standard form of a naming convention in my code vs an exception, and I have even ended up with some productive refractors prompted by its mistakes.

      • kromem@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        Visual Studio.

        And yeah, forget where I picked up the “leave the function unfinished with a comment” trick but it’s been a great way to jump back in.

  • I_like_cats@lemmy.one
    link
    fedilink
    arrow-up
    9
    ·
    4 months ago

    Depends on if you want to work with existing code. LLMs tend to be good at generating small code snippets but not good at understanding / finding errors in existing code

  • Saigonauticon@voltage.vn
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 months ago

    Not really. Writing code is the easy part. It’s not the rate limiting step. The hard part is getting requirements out of customers, who rarely know what they want. I don’t need to push out more code and features faster, that would make things into unmaintainable spaghetti.

    I might send it a feature list and ask it “what features did they forget?” or “Can you suggest more features?”, or even better – “which features are the least important for X and can be eliminated?”. In other words, let it do the job of middle-management and I’ll just do the coding myself.

    Anyway, ChatGPT blocks my country (I’ve confirmed it’s on their end).

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

    Mostly as a search engine. I have it set up to only respond with answers it has web sources for. Code completion like Copilot can be useful, however 90% of the completions aren’t really saving me any time, the other 10% are awesome though.

    So I could easily drop copilot but ChatGPT or HuggingChat used like search engines are awesome.

  • intensely_human@lemm.ee
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    4 months ago

    Absolutely. I just built a little proof of concept thing where I loaded some GIS data into a google map to display the major rivers of the world.

    ChatGPT, the v4 that I pay $20/mo for, was like someone with deep knowledge of all the technologies and APIs involved.

    I’m gonna post a link to screenshots of the convo so you can see exactly how it went.

    • intensely_human@lemm.ee
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      4 months ago

      Not the whole thing because it’s longer than I remember.

      https://imgur.com/a/Jh5BkMZ

      But just consider how long it would have taken me to answer each of those questions just by googling and reading old forums and stack overflow posts.

      Much like sitting next to someone with experience, a question that could take me hours to answer on the internet took me only seconds to answer by asking directly. GPT’s responses are still long, so it’s not pure conversational style, but the longer responses aren’t wasted fluff. It’s all relevant to what I asked.

      Natural language as a way to query a knowledge base is enormously useful. Especially for something that requires update of existing knowledge as often as tech work.

      • MajorHavoc@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        4 months ago

        Natural language as a way to query a knowledge base is enormously useful.

        Great post. I want to highlight your sentence above as a key point, for folks trying to come to grips with where and how to use the current generation of AI.

    • Socsa@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      Yes, by far the most useful thing is stuff like API and keyword documentation for poorly documented code. Its literally the promise of self generating docs for tedious shit.

  • i_stole_ur_taco@lemmy.ca
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    4 months ago

    I’ve found it almost uniformly useless. Dangerous, even, because it produces output that looks good at first glance. But it only understands the line I typed and tries to figure out what I’m likely to keep typing. It doesn’t have a clue what problem I’m solving, what domain I’m working in, the scope I’m concerned with, and myriad other things that are what is actually important when writing software.

    The one area I’ve found it useful is turning code comments into real code. If I’m coding in a language I’m not super familiar with, I can pseudo code what I’m trying to do in descriptive comments and it will often suggest a block of code that follows coding conventions and does what I asked for. Is it better than just learning the damn language? No. But it’s a handy tool to have for that one time a year I need to touch that program written in Go.

  • detectivemittens@beehaw.org
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Yes and no. I compare it to a graphing calculator: I know how to graph a parabola by hand already, but I don’t want to have to do it over and over already. That’s just busy work for me.

    LLMs are similar that way. There’s often a lot of boilerplate to get out of the way that’s just busy work to write over and over again. LLMs are great at generating some of that scaffolding.

    LLMs have also become a lot more helpful as Google search has gotten worse over time.

  • Gamma@beehaw.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    4 months ago

    Yep! It’s the best autocorrect I’ve ever used, and it does a decent job explaining config files when needed. Just don’t let any unvetted code in because it can have some quirky bugs

  • YourAvgMortal@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    4 months ago

    As someone who is just getting started in a new language (rust), it can be very helpful when trying to figure out why something doesn’t work, or maybe some tips I don’t know (even if gets confused sometimes).

    However, for my regular languages and work, I imagine it would be a lot slower.

  • d0ntpan1c@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    4 months ago

    I tried to use Copilot but it just kept getting in the way. The advanced autofill was nice sometimes, but its not like i’m making a list of countries or some mock data that often…

    As far as generated code… especially with html/css/js frontend code it consistently output extremely inaccessible code. Which is baffling considering how straightforward the MDN, web.dev, and WCAG docs are. (Then again, LLMs cant really understand when an inaccessable pattern is used to demonstrate an onclick instead of a semantic a or to explain aria-* attributes…)

    It was so bad so often that I dont use it much for languages I’m unfamiliar with either. If it puts out garbage where i’m an expert, i dont want to be responsible for it when I have no knowledge.

    I might consider trying a LLM thats much more tuned to a single languge or purpose. I don’t really see these generalized ones being popular long run, especially once the rose-tinted glasses come off.

  • thepiguy@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    4 months ago

    I mostly use shell-gpt and ask it trivial questions. Saves me the time for switching to a browser. I have it always running in a tmux pane. As for code, I found it helpful for getting started when writing a functionality, but the actual engineering part should be done manually imo. As for spending money on it, depends on how you benifit from it. I spend about 50c on my openai API key, but I know a friend who used ollama (I think with some mistral derivative) locally on a gaming laptop with decent enough results.

  • Omega_Haxors@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    4 months ago

    I’m pretty sure even if it was helpful they wouldn’t use it out of principle. Shit’s basically plagiarism laundering.

    EDIT: Oh you’re talking about devs who use Lemmy, not the Lemmy devs.