post
Yeah, the places to use it are (1) boilerplate code that is so predictable a machine can do it, and (2) with a big pinch of salt for advice when a web search didn't give you what you need. In the second case, expect at best a half-right answer that's enough to get you thinking. You can't use it for anything sophisticated or critical. But you now have a bit more time to think that stuff through because the LLM cranked out some of the more tedious code.
(1) boilerplate code that is so predictable a machine can do it
The thing I hate most about it is that we should be putting effort into removing the need for boilerplate. Generating it with a non-deterministic 3rd party black box is insane.
Why does it have to be AI instead of a purpose built, deterministic tool?
I'd rather use some tool bundled with the framework that outputs code that is up to the current standards and patterns than a tool that will pull defunct patterns from it's training data, make shit up, and make mistakes that easily missed by a reviewer glazing over it
I just use https://github.com/cookiecutter/cookiecutter and call it a day. No AI required. Probably saves me a good 4 hours in the beginning of each project.
Almost all my projects have the same kind of setup nowadays. But thats just work. For personal projects, I use a subset-ish. Theres a custom Admin module that I use to make ALL classes into Django admin models and it takes one import, boom done.
If it's as minimal as possible, then the responsible play is to write it thoughtfully and intentionally rather than have something that can make subtle errors to slip through reviews.
Back in the day, I used CakePHP to build websites, and it had a tool that could "bake" all the boilerplate code.
You could use a snippet engine or templates with your editor, but unless you get a lot of reuse out of them, it's probably easier and quicker to use an LLM for the boilerplate.
Easier and quicker, but finding subtle errors in what looks like it should be extremely hard to fuck up code because someone used an LLM for it is getting really fucking old already, and I shudder at all the things like that are surely being missed. "It will be reviewed" is obviously not sufficient
All of that can be automated with tools built for the task. None of this is actually that hard to solve at all. We should automate away pain points instead of boiling the world in the hopes that a linguistic, stochastic model can just so happen to accurately predictively generate the tokens you want in order to save a few fucking hours.
The hubris around this whole topic is astounding to me.
Is it possible to use deterministic automation for some boilerplate instead of LLMs?
Code is not natural language.
The first article in the comments is a good response https://unixdigest.com/articles/if-youre-a-programmer-and-you-feel-depressed-by-ai-dont-be.html
I've tried vibe coding two scripts before, and it's honestly brain-fog-inducing.
Llm coding won't be a thing after 2027.
What do you expect to replace LLM coding?
I think that the interest in it will go away, and after the ai bubble pops most of the tools for llm-coding wont be financially viable.
There's viable local models.
...regular coding, again. We've been doing this for decades now and this LLM bullshit is wholely unnecessary and extremely detrimental.
The AI bubble will pop. Shit will get even more expensive or nonexistent (as these companies go bust, because they are ludicrously unprofitable), because the endless supply of speculative and circular investments will dry up, much like the dotcom crash.
It's such an incredibly stupid thing to not only bet on, but to become dependent on to function. Absolute lunacy.
I recently asked ChatGPT to generate some boilerplate code in C to use libsndfile to write out a WAV file with samples from a function I would fill in. The code it generated casted the double samples from the placeholder function it wrote to floats to use sf_writef_float to write to the file. Having coded with libsndfile over a decade ago, I knew that sf_writef_double existed and would write my calculated sample values with no loss of precision. It probably wouldn't have made any audible difference to my finished result but it was still obviously stupidly inferior code for no reason.
This is the kind of stupid shit LLMs do all the time. I know I've also realized months later that some LLM-generated code I used was doing something in a stupid way, but I can't remember the details now.
LLMs can get you started and generate boilerplate, but if you're asking it to write code in a domain you're not familiar with, you have to understand that — if the code even works — it's highly likely that it's doing something in a boneheaded way.
We’re replacing that journey and all the learning, with a dialogue with an inconsistent idiot.
I like this about it, because it gets me to write down and organize my thoughts on what I'm trying to do and how, where otherwise I would just be writing code and trying to maintain the higher level outline of it in my head, which will usually have big gaps I don't notice until spending way too long spinning my wheels, or otherwise fail to hold together. Sometimes a LLM will do things better than you would have, in which case you can just use that code. When it gives you code that is wrong, you don't have to use it, you can write it yourself at that point, after having thought about what's wrong with the AI approach and how what you requested should be done instead.
Try a rubber duck next time. Also, diagrams. Save a forest.
top 50 comments