If so, I’d like to know about that questions:
- Do you use an code autocomplete AI or type in a chat?
- Do you consider environment damage that use of AIs can cause?
- What type of AI do you use?
- Usually, what do you ask AIs to do?
Being able to interrogate a codebase on how it works is incredible
I’ve tried chat prompt coding two ways. One, with a language I know well. It didn’t go well; it insisted that an api existed that had been deprecated since before and removed around 2020, but I didn’t know that and I lost a lot of time. I also lost a lot of time because the code was generally good, but it wasn’t mine so I didn’t have a great understanding of how it flowed. I’m not a professional dev so I’m not really used to reading and expanding on others’ code. However, the real problem is that it did some stuff that was just not real, and it wasn’t obvious. I got it to write tests (something I have been meaning to learn to do) and every test failed; I’m not sure if it’s the test or the code because the priority for me at the time was getting code out, not the tests. I know, I should be better.
I’ve also used it with a language I don’t know well to accomplish a simple task - basically vibe coding. That went OK as far as functionality but based on my other experience it is illegible, questionably written, and not very stable code.
The idea that it’ll replace coders in a meaningful way is not realistic in the current level. My understanding of how LLMs work is incomplete, but i don’t think the hallucinations are easily overcome.
No.
The only code generation assistance I use is in the form of compilers. For fun I tried to use the free version of Chatgpt to replicate an algorithm I recently designed and after about half-hr I could only get it to produce the same trivial algorithms you find on blog posts even with feeding it much more sophisticated approaches.
I use the generator function in Databricks for Python to save me a lot of typing but autocomplete functions drive me crazy
My answer (OP): I use AI for short and small questions, like things I already know but I forgot, like “how to sort an array”, or about Linux commands, which I can test just in time or read the man page to make sure it works as intended.
I consider my privacy and environment, so I use a local AI (16b) for most of my questions, but for more complex things that I really need any possible help I use Deep Seek Coder v3.1 (671b) in the cloud via ollama.
I don’t use autocomplete code because it annoys me and don’t let me think about the code, I like to ask when I think I need it.
This is basically how I roll as well.
I did have cursor build an example fastapi project (which didn’t work at first) just to sort of give me a jump start on learning the framework.
I messed around with that, got it to work, learnes enough about how it works that I was then comfortable starting from scratch in a different project.
I kind of treat the local AI as a knowledge base. Short questions with examples. Mostly that just then lets me know what sort of stuff to look for in the real documentation, which is what actually solves my issues.
Cant these questions be answered more easily with an online search?
Maybe 5 years ago. Not anymore.
Never used it, never will
I use whatever line completion is built into JetBrains out of the box. Other than that, no AI whatsoever.
Only about 10% of my time at work is actually spent writing code. At least double that time is spent reading code, and the rest is documentation, coordination, and communication work that depends on precise understanding of the code I’m responsible for. If I let AI write code, maybe (doubtfully) that would save a little time out of the 10%, but it would cost me dearly in the other two categories. The code I write by hand is minimal, clear, and easy to understand, and I understand it better because I wrote it myself. I understand all the code around it, too.
If you ask me, AI code generation is based entirely on non-programmers’ incorrect understanding of what programming is.
No
I sometimes use a chatbot as a search engine for poorly documented or otherwise hard to find functionality. Asking for how to do x in y usually points me to the right direction.
Do you consider environment damage that use of AIs can cause?
My use is so little that no. For AI bullshit in general, yes.
I use AI as a rubber duck, to compliment the rubber ducks on my desk when they don’t give enough feedback. So it’s use is mostly conceptual, I find that models that provide “thinking” output perhaps more useful than whatever its actual answer is because it asks questions about edge cases I might not have considered.
As for code generation, I hate it. It outputs garbage, forgets things, hallucinates, and whatever thing it writes I’ll have to rewrite anyway to actually make it compile.
As I’m fairly isolated at work I think it makes a good pair programmer partner, so to speak. Offering suggestions that I can take into consideration and research heavily if I think it’s a good one.
I am a data scientist and we use databricks which has copilot (I think) installed by default. So with this we have an autocomplete which I use the most because it can do some of the tedious steps for an analysis if I write good comments which I do anyhow. This is around 50% accurate with it being the most accurate for simple mindless things or getting the name of things correct.
There is code generating block tool that I never use. There is also a something that troubleshoots and diagnosis any error. Those are mostly useless but has been good to finding missing commas and other simple things. Their suggestions sometimes are terrible enough that I mostly ignore this.
We have a Copilot bot as part of our Github (I don’t know is this standard now?) that I actually enjoy and has uses. It writes up great summarizes of what code was commited which has a great format and seems almost 100% accurate for me. Most importantly it has a great spellchecker as part of their suggestions. I am a terrible speller and never double check names so it can fix them both in the notes and in my code (It fixes it everywhere in the code which is nice). The rest of the suggestions are okay. There are some that are useful but some that are way off or overengineered for what I am doing. This I like because it just comes in at the end of my process and I can choose to accept or deny.
Mainly use it as a documentation search for APIs I’m not familiar with, or when I’m not sure what options there are to approach a problem. I work with unreal engine a lot, so I’d get a few pointers from an LLM first, then go read the source code of those APIs and inplement the rest myself.
Single function text prediction, class boilerplate, some refactoring.
It’s decent when you inherit outrageously bad legacy code and you want better comments and variable names than “A, x, i”, etc.
You do have to do it within an editor that highlights all changes so you can carefully review, though.
Not so much a productivity boost, but rather a bad intern you can delegate boring, easy tasks to. I’d rather review that kind of code than write it, but of you’re the other way around, it’s a punishment.
Maybe naming single-letter variables I can see being easier to review than to do.
Any other kind of refactoring though, IDE refactoring tools are instantaneous and deterministic.
When the code your have to deal with is an ASP (not .NET) created by apes throwing shit in a wall, the kind of holistic bullshit an AI makes is an improvement.
When I use it, I use it to create single functions that have known inputs and outputs.
If absolutely needed, I use it to refactor old shitty scripts that need to look better and be used by someone else.
I always do a line-by-line analysis of what the AI is suggesting.
Any time I have leveraged AI to build out a full script with all desired functions all at once, I end up deleting most of the generated code. Context and “reasoning” can actually ruin the result I am trying to achieve. (Some models just love to add command line switch handling for no reason. That can fundamental change how an app is structured and not always desired.)




