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

  • 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.

  • 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.

  • 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.

  • 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.

  •  Gamma   ( @GammaGames@beehaw.org ) 
    link
    fedilink
    English
    6
    edit-2
    7 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

  • 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).

  • 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.

    • 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.

      • 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.

  • 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.

  • 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.

  •  Elise   ( @xilliah@beehaw.org ) 
    link
    fedilink
    3
    edit-2
    7 months ago

    Hmm well for research it can give me good pointers, when I am going into a new field.

    For actual coding it’s mostly useless for the moment. It’s not trained to be productive, so it doesn’t know what to focus on and tends to be overly verbose. Its internal model of what’s going on is also quite shaky.

    It feels like working with clay, I have to somehow get the code the llm generates into the shape I need. But it’s like looking at a movie at super slow mo, and the clay is too wet and keeps falling apart.

    Furthermore, it cannot handle anything more than relatively low complexity code. Sure it can give you a function for drawing a circle. But architecture and code smell are things it doesn’t understand.

    So after using it for a year I must say that I don’t use it for actual coding. I use it mostly to get an overview of fields I’m not that much into. For example lately I’ve looked into quantum field theory again, and Rust for the first time. I know it spouts a lot of nonsense but I can still get the gist of it.

    Still relying on good ol Bessie 🧠

  • More of a hobbyist, but it helps finding that typo I’ve made earlier that went unnoticed. And for command-line utilities it’s nice being able to ask what you want to do and it provides the parameters you’re looking for right away.

  • It’s sometimes helpful when working with libraries that are not well documented. Or to write some very barebones and not super useful tests if I’m that lazy. But I’m not going to let it code for me. The results suck and I don’t want to become a „prompt engineer“.