5 ms·
An Honest Review of AI Programming
- lnenad 2mo ago> An Honest Review > I do admit that this approach immediately triggered my contrarian side and made me very defiant of any AI tool. Makes sense. > While this could be partially remedied by always asking for a primary source or citation, I dislike the idea that one has to add magical incantations to their queries to get the right results. It’s a good laugh to make fun of “make no mistake” memes, until you start having to consider similar things seriously. Man I am genuinely stumped at the obvious lack of desire to use something in a way it's supposed to be used. LLMs are tools and like with any tool it's on us to use it properly, not hitting a screw with a hammer and saying that hammers are a very stupid tool.
- Sharlin 2mo agoIt's more like a hammer that never drives nails straight unless you hold it in a specific uncomfortable manner. You shouldn't be required to tell an information retrieval tool to actually retrieve information rather than making it up!
- lnenad 2mo ago> It's more like a hammer that never drives nails straight unless you hold it in a specific uncomfortable manner. I mean sure, pick any analogy, still doesn't change the fact that there are right uses and wrong uses; right ways to use it and wrong ways to use it. > information retrieval tool How is an LLM this? It's a non-deterministic word generator.
- joshribakoff 2mo agoAn LLM is not what the public was “sold”, they were “sold” a personified agent. That is the gap.
- lnenad 2mo agoWe're not talking about "the public". The person writing the article is a very experienced software engineer. There shouldn't be a gap in understanding.
- rglover 2mo ago> You shouldn't be required to tell an information retrieval tool to actually retrieve information rather than making it up! And therein lies the problem: perception. LLMs are treated like information retrieval tools but in reality are probability machines that return plausible/mostly accurate information. They're not searching, they're inferring and then guessing. That the guesses are often quite good means that we can easily fool ourselves with whatever it spits out. We call it hallucination but it's a feature, not a bug.
- K0balt 2mo agoTo be fair, hammers are bad screwdrivers. They are faster at driving screws and require less finesse to do so, but are really bad at taking them out, often break the screw, and often result in a fastening that superficially looks correct but fails to perform well under stress. Two new types of screw, the ring-shank nonhelical fastener and the rivet, however, are changing everything. Soon, using screwdrivers will be rare except in special circumstances.
- lnenad 2mo agoI don't really see your point. You're still using the screwdriver and it's up to you to use it when it makes sense, see if it's doing it's job properly, fix issues it creates etc... If it's not doing a good job for your particular screw don't use it. But don't say it's a horrible tool since you choose to not use it properly. There is a middle ground between CEOisms "LLMs are literally Jesus" and people similar to this blog's author "LLMs are mostly trash."
- joshribakoff 2mo agoPart of the entire premise of the article is that many people aren’t being given a choice, so this is a really weird deflection. I disagree about the author not recognizing a middle ground.
- lnenad 2mo ago> Part of the entire premise of the article is that many people aren’t being given a choice Yeah, "part", but that's not the part I wrote about?
- K0balt 2mo ago[dead]
- duskdozer 2mo agoIt just seems silly to need to beg in English for things like that. What's the entire space of things you need to think about? Can you be sure the specific way you asked would be correct, or do you also have to add "don't lie about following this instruction:"? Why not have an interface `ai --make-no-mistakes --dont-make-things-up`? I don't want to have to talk to the computer like it's people.
- lnenad 2mo agoBut English is literally the interface. It's the *same* as `--make-no-mistakes`, it's just your preference compared to directly telling it to the AI which is ok. That doesn't change the fact the using the tool correctly != using the tool.
- Lwerewolf 2mo agoYou don't have to. Chatgpt-sol-high already does that for me. Could be the extra instructions or the base system prompt or whatever, point is - it already does it.
- inigyou 2mo agoHow are they supposed to be used? The providers promised us we could just say what we wanted and get it.
- righthand 2mo agoNot providing a source is how Llms get caught in sycophancy and hallucinations. The “tool” needs improvement, especially one that claims it’s intelligence. How would you react if you found out after schooling everything you learned has half-hallucinated because your teacher made it up and there is no text book or historical log of facts? You had assumed this whole time you were learning facts…now what?
- daishi55 2mo ago> “Agentic workflow” (or whatever they’re calling it at the time you’re reading this article) > Unlike the silver bullets of the past (like microservices or NoSQL) > Hallucinations are an inherent property of how LLMs work. > It’s all marketing and buzzwords Not a serious article or thinker. I can get this stuff on Reddit if I want to read thrice-regurgitated cliches about AI.
- Sharlin 2mo agoI'd like to hear actual rebuttals to those quotes.
- daishi55 2mo agoIf the author can’t put in the effort to think of something original to say that hasn’t been said 1000x, why should I put the effort into rebutting cliches that were last relevant in 2024?
- nesarkvechnep 2mo agoSo you basically agree but complain there are no new arguments against AI programming in the article?
- daishi55 2mo agoNo, I’m not sure where you are getting the idea that I agree with what I am referring to as cliches last relevant in 2024.
- beepbooptheory 2mo agoHow can it be both irrelevant and cliché?
- archagon 2mo agoWhy are you posting such cliche responses? There is literally nothing to see in this subthread.
- internet2000 2mo ago3,300 words but nothing new to say.
- abirch 2mo agoI'm not disappointed in the article, there are many of them out there. I'm disappointed that this is near the top of HN. I lazily outsource my information hunter and gathering to HN.
- FrustratedMonky 2mo agoMaybe you guys just shouldn't read blogs.
- CuriouslyC 2mo agoIt'd be nice if blog authors categorized their posts into "old man shaking fist at clouds" vs "something I searched for on the internet, legitimately never found it, and decided to write it myself"
- unknownfuture 2mo agoThe blogger owes you nothing.
- daishi55 2mo agoDislikes AI so much and ironically wrote a whole article without doing any of their own thinking.
- jdw64 2mo agoI read through a bit of it, and it seems like the author assumes training was done only on open source data, but I doubt that's actually the case. There are plenty of paid, proprietary source codes being sold out there, hacked code, that is. Aside from that, I don't agree with the author's view on agentic workflows. Modern AI native development runs like a massive state machine, starting from MCP, local file systems, and what's usually called a harness. I also noticed what might be a mistake in the author's domain, games. Putting aside the fact that inheritance based OOP is an outdated pattern, the suggestion to remove update() and put it into a manager class's List, then iterate with a for loop, is meant to eliminate overhead like P/Invoke costs in C#. But if Foo is still a class, a reference type, then List<Foo> is just an array of pointers scattered across heap memory. Pointer chasing can still happen. So I think that's actually bad advice.(Of course, the same issue exists in Mr. Claude's code as well.) If the author truly wanted Data Oriented Programming(or DOD), they would have specified struct arrays or NativeArray. This is a tricky area. The author's goal was likely to remove the per MonoBehaviour Update call cost in Unity, which is why they suggested using List<Foo>. But the instruction seems ambiguous, and I think that's part of the difficulty with AI development. The objective function is the same, but the implementation varies and subtly differs from what I actually want. From a design perspective, for team maintenance, the GameUpdateable abstraction might actually be better. But it's difficult. In terms of extensibility, an update manager that handles registration and expansion of multiple update targets might be over abstracting. Writing this down makes me realize how many things I actually consider when putting code into a program. Sometimes I model how my next teammate might read it, and sometimes my words might be interpreted differently. It's really difficult.
- dr0idattack 2mo agoI liked the two original experiments in the article, which in a microcosm gels with my 1+ year of deep agentic development. But I would like a whole article about his experience, and with which model (Opus? Fable? erg, Sonnet?) and effort he used. I've progressed in using latest Claude-kins and the GPTs as usually competent teammate/buddies, and generally know to sort out the fluff confidence with the realz (shoot, that was how I was when I was but a wee little coder lad: overconfident because of an error-free compile and one non-segfault run.) You have to put in the time, the skill creation, the system prompt/personalization, the (sometimes adversarial) automation, the testing, verification, kicking down the loop castles (as usually caused by being cheeky with highest effort levels.)
- brazukadev 2mo agoI have been doing this (vibecoding) for as long as the term vibecoding was coined. The amount of people I have met that describe the process like you did and then proceed to show the most soulless vibecoded app is staggering.
- adamddev1 2mo agoHere's a guy who does more than make simple, bloated end-user apps. He tries to dig into the code and make novel performance optimizations etc. He sees that AI can't code everything.
- ryaniscool 2mo ago[dead]
- btbuildem 2mo agoIt reads like something written by a time traveler from the past.
- inigyou 2mo agoWe are all time travelers from the past.
- cronin101 2mo agoAt the risk of sharing an unpopular take, this reads a lot like someone who decided how they feel about LLM-driven engineering ~5 months ago and doesn’t seem to reflect the current reality. (Or they’re working in an organization with lower budgets and not cranking the frontier models of today) I fully agree about the cost/sustainability parts, but to suggest you can’t build a high quality coding/verifying/iterating loop for _most_ problems is disingenuous.
- ryaniscool 2mo agoHis experience is completely plausible. He’s in a niche that requires highly performant code and most complex, highly performant games do nit have source available for models to train on. It’s a very common observation that the farther you stray from mainstream, the less effective the LLM models become.
- cronin101 2mo agoHave you actually tried performance optimisation using an agent? With any programming language/framework that has quality profiling tooling (which is a prerequisite for most projects) I have had huge success with automated hotspot profiling where the LLM can propose theories, test the impact of fixes, convince you of which to pursue, etc. High performance algorithms are quite well documented so it isn't unreasonable to expect an LLM to apply them appropriately when given the ability to "see" where they need to be applied.
- ryaniscool 2mo agoLLMs work perfectly fine for me but I’m building web app equivalents of binder keepers, like most people. Essentially store data, display data. The novelty is in what/how we’re displaying. LLMs are owning this market. Unless you yourself are doing commercial game development, calling the author disingenuous puts your own pro-AI bias on display. It’s based on speculation. I prefer to take his very specific examples and experiments at face value.
- 2mo ago
- cyanclouds 2mo agoThe case study of the LLM getting the basic Mono framework usage wrong seems outdated. They're pretty flawless at any framework now, React, SwiftUI, Unity - literal skill issue if you can't get good code out of an LLM. If an LLM can write a nuanced paragraph about any topic, it can certainly write a simple [insert popular framework] component which has considerably less potential variation. Consider that there are 100k+ words in English, 90k+ in Spanish, and 77 in C# (38 in JavaScript!). The LLM can write code. Can it make software? No. Because software is a lot more than code. But the LLM can write code. Any anti-AI takes moving forward are going to have to acknowledge that I think
- tangotaylor 2mo ago> In a past life I had to argue every year to renew a license for a profiling tool that cost about 20 EUR a month. I’ve heard since that everyone at the company is now getting a Claude subscription, even non-programmers. Underrated quote. I also found this frustrating. At one company I was at (a very old company which was trying to pivot to software engineering), we had hellish bureaucratic fights with the IT department to get access to Pycharm, Obsidian, and even GitHub. But then the AI craze dropped and management just gave us all GitHub Copilot access without us even asking. Cory Doctorow's book The Reverse Centaur's Guide to Life After AI talks more about this. It's just a modern symptom of an age-old power struggle. The workers want more control over their craft, including quality standards and tools, but their bosses want more control over the workers. What's happening now is bosses are feeling pressure from investors to show productivity gains from using AI, so bosses panic-push AI within their companies. Which leads to misaligned incentives like tokenmaxxing.
- 239187z 2mo agoArticle was flagged from the front page after criticism of Meta. You know, if free speech isn't allowed maybe we should contact Zuckerberg directly if that is what you want.
- kwertyoowiyop 2mo ago> It's interesting how AI is constantly providing false information and incorrect statements about my area of expertise. Fortunately, it's very useful and always right about topics I know very little about.— pikuma.com (@pikuma) June 19, 2026 Also true for TV commentators, bloviating C-suiters, frequent posters on social media, politicians, etc.
- spprashant 2mo ago> While I have found LLMs useful for researching and planning code changes, my attempts at actually making them write code have been quite lackluster. I found them to be slow and expensive to generate, for a mediocre result. I think this observation is generally true for the kind of problems the author is working on. But I would not make the leap to avoid using LLMs for any kind of code writing. LLMs do fantastically well in the 95%+ of the code that engineers spend time on. And for those we should leverage the technology. It is upto us as engineers to figure out when to stop using LLMs. We are smarter than just dumping logs and half dozen specialized markdown files to a LLM and have it figure out solutions.
- archagon 2mo agoAll this completely ignores the cataclysmic negative externalities, including environmental costs, knowledge atrophy and workforce erosion, accelerated burnout, slop-pollution of the open internet, shifting of power from engineers to management and SAAS corps, and empowerment/enrichment of some of the most morally vacuous people in tech history.
- sigseg1v 2mo agoThis is likely a completely honest and plausible experience of the author, while at the same time still feeling like someone trying to use a pottery wheel and then concluding that pottery wheels are not suitable for producing very good art due to the clay often not centering. It says more about the author than about the topic.
- deleted 2mo ago[deleted]
- dynotable 2mo ago[dead]
- barbaralamneck 2mo ago[dead]
- crawfordmarch 2mo ago[flagged]