4 ms·
You've put into words what has bothered me about the relentless boosterism of B2C AI solutions on the backs of hundreds of these "Hello World" type demos. "OMG,
by rchaud 3y ago
You've put into words what has bothered me about the relentless boosterism of B2C AI solutions on the backs of hundreds of these "Hello World" type demos. "OMG, programming is dead!"
The strange thing is that on HN, the limits of these approaches re: extensibility and maintenance are easily recognized when talking about traditional no-code platforms. But somehow with AI, these problems are now fixed, and we wont have to worry about unspooling spaghetti spat out from a black box.
- dartos 3y agoWell yeah, you just put the spaghetti into another black box and have that deal with it
- dclowd9901 3y agoDo you really care about extensibility and maintenance when you could just generate an entirely new component when you want more features or need to upgrade the library?
- rchaud 3y agoIf the team that came up with the prototype assumes that responsibility, then no, I don't. I'm sure an AI will understand how to refactor the codebase on an adhoc basis without creating any problems down the line.
- CamperBob2 3y agoNot a matter of refactoring. AI should ideally regenerate the code from the spec each time the requirements change. "Programming" won't go away, but it will refer to working with specification languages, not implementation languages. In the best of all possible worlds, you'd have to deal with the C++ or JavaScript code about as often you have to dig into the x86 or ARM assembly code now.
- lobsterthief 3y agoThe second you need to do something the AI can’t do, you’ll be trudging through garbage and breaking tons of things in regression (causing either errors or visual bugs). In your scenario, AI will likely produce code that _it_ determines to be maintainable, or if it’s rebuilt each time as you suggest, then it doesn’t need to be maintainable or readable at all. Good code is written for teams, not individuals. It’s written for future you and future people who you will never meet.
- CamperBob2 3y agoYou'll find that argument holds up well at first, but it won't age well at all. None of the "AI can't do X" arguments will. The most popular programming language in 2030 -- 2035 at the latest -- will be English. Few people will GAF whether the underlying generated code is readable or styled for human understanding, any more than they care about the compiler's machine language today. Some will, of course, but it'll be a rarefied, specialized career practiced only by gurus on mountaintops, as assembly programming is now.
- ryandrake 3y agoI'm far from an AI booster, but I notice that the "AI-powered coding" goal posts keep moving as soon as something is accomplished. Ten years ago, if you showed someone a text box where you could type "Write me a C++ Hello World program" and it actually would do it, it would have been considered wizardry. Then, it became "Well, sure... it can only write Hello World--what good is that?" Now, it's "Well, sure... it can do basic slider controls, who needs such a toy app?" What's next? "Oh, the full first person shooter game it conjured up from a prompt is generic and uncreative. Who would want to play that?"
- rafaelmn 3y agoI mean who cares about hypothetical benchmarks - when I try to apply these tools they fail more often than not. The only tool I can say I'm reliably using is Copilot context aware completions work very nicely and it's easy to get used to when it will be usefull and when it wont so it improves productivity. Copilot chat interface is terrible - I gues it tries to be stingy about the context tokens it's always so much hassle to get it to do anything useful - takes more explaining than doing a google search and read. ChatGPT is hallucinating so much, mostly in times you want it to hallucinate the least. I've tried using Midjurney and DALLE to generate placeholder art and memes - it's worse than ChatGPT. I've built stuff on top of the API and it's very inconsistent and falls apart at totally random unexpected places (not to mention undeterministic). I want these tools to work, but they are just so inconsistent and introduce so strange failure cases I'm not used to that it's just more trouble than worth over existing workflows.
- roflyear 3y agoI agree - largely. ChatGPT cannot program for me (it fails on anything that is a bit more complicated than very-common problems). It cannot write a good algo for me (unless the algo is a very standard one, if so, why do I need it to write it?). It gives incorrect information, a lot of the time. The docs it is trained on are outdated, many times methods, etc.. it suggests no longer exist, or the API endpoint has been deprecated. It doesn't seem to have a "sense of time" meaning it seems just as likely to suggest data from 10 years ago as data from 1 year ago. But there are some times, where something is behaving very strangely, and ChatGPT helps me work through it. Examples are complex SQL queries, quickly combining existing queries, oddities in CSS, etc.. It may not give super-accurate answers, but at least it gives something that I can work with or work on. I think this makes it a valuable tool, but it's not going to replace developers. Well, sure. Some people will just use ChatGPT rather than hire a programmer - I've worked with business owners who learned to code rather than hire programmers. I don't expect different results in either of these cases, the code will be very flawed, have huge security issues, and not be maintainable.