| ▲ | Automatic Programming(antirez.com) |
| 116 points by dvrp 2 hours ago | 91 comments |
| |
|
| ▲ | dugmartin an hour ago | parent | next [-] |
| I have 30+ years of industry experience and I've been leaning heavily into spec driven development at work and it is a game changer. I love programming and now I get to program at one level higher: the spec. I spend hours on a spec, working with Claude Code to first generate and iterate on all the requirements, going over the requirements using self-reviews in Claude first using Opus 4.5 and then CoPilot using GPT-5.2. The self-reviews are prompts to review the spec using all the roles and perspectives it thinks are appropriate. This self review process is critical and really polishes the requirements (I normally run 7-8 rounds of self-review). Once the requirements are polished and any questions answered by stakeholders I use Claude Code again to create a extremely detailed and phased implementation plan with full code, again all in the spec (using a new file is the requirements doc is so large is fills the context window). The implementation plan then goes though the same multi-round self review using two models to polish (again, 7 or 8 rounds), finalized with a review by me. The result? I can then tell Claude Code to implement the plan and it is usually done in 20 minutes. I've delivered major features using this process with zero changes in acceptance testing. What is funny is that everything old is new again. When I started in industry I worked in defense contracting, working on the project to build the "black box" for the F-22. When I joined the team they were already a year into the spec writing process with zero code produced and they had (iirc) another year on the schedule for the spec. At my third job I found a literal shelf containing multiple binders that laid out the spec for a mainframe hosted publishing application written in the 1970s. Looking back I've come to realize the agile movement, which was a backlash against this kind of heavy waterfall process I experienced at the start of my career, was basically an attempt to "vibe code" the overall system design. At least for me AI assisted mini-waterfall ("augmented cascade"?) seems a path back to producing better quality software that doesn't suffer from the agile "oh, I didn't think of that". |
| |
| ▲ | AdamN an hour ago | parent | next [-] | | Waterfall can work great when: 1/ the focus is long-term both in terms of knowing that she company can take a few years to get the thing live but also that it will be around for many more years, 2/ the people writing the spec and the code are largely the same people. Agile was really pushing to make sure companies could get software live before they died (number 1) and to remedy the anti-pattern that appeared with number 2 where non-technical business people would write the (half-assed) spec and then technical people would be expected do the monkey work of implementing it. | | |
| ▲ | aglavine 44 minutes ago | parent | next [-] | | No. Agile core is the feedback loop. I can't believe people still don't get it. Feedback from reality is always faster than guessing on the air. Waterfall is never great. The only time when you need something else than Agile is when lives are at stake, you need there formal specifications and rigorous testing. SDD allows better output than traditional programming. It is similar to waterfall in the sense that the model helps you to write design docs in hours instead of days and take more into account as a result. But the feedback loop is there and it is still the key part in the process. | |
| ▲ | user3939382 an hour ago | parent | prev [-] | | I spent my career building software for executives that wanted to know exactly what they were going to get and when because they have budgets and deadlines i.e. the real world. Mostly I’ve seen agile as, let’s do the same thing 3x we could have done once if we spent time on specs. The key phrase here is “requirements analysis” and if you’re not good at it either your software sucks or you’re going to iterate needlessly and waste massive time including on bad architecture. You don’t iterate the foundation of a house. I see scenarios where Agile makes sense (scoped, in house software, skunk works) but just like cloud, jwts, and several other things making it default is often a huge waste of $ for problems you/most don’t have. Talk to the stakeholders. Write the specs. Analyze. Then build. “Waterfall” became like a dirty word. Just because megacorps flubbed it doesn’t mean you switch to flying blind. | | |
| ▲ | catdog 25 minutes ago | parent [-] | | > The key phrase here is “requirements analysis” and if you’re not good at it either your software sucks or you’re going to iterate needlessly and waste massive time including on bad architecture. You don’t iterate the foundation of a house. This depends heavily on the kind of problem you are trying to solve. In a lot of cases requirements are not fixed but evolve over time, either reacting to changes in the real word environment or by just realizing things which are nice in theory are not working out in practice. You don’t iterate the foundation of a house because we have done it enough times and also the environment the house exists in (geography, climate, ...) is usually not expected to change much. If that were the case we would certainly build houses differently than we usually do. |
|
| |
| ▲ | manmal 15 minutes ago | parent | prev | next [-] | | My experience is that such one-shotted projects never survive the collision with reality. Even with extremely detailed specs, the end result will not be what people had in mind, because human minds cannot fully anticipate the complexity of software, and all the edge cases it needs to handle. "Oh, I didn't think that this scheduled alarm is super annoying, I'd actually expect this other alarm to supersede it. It's great we've built this prototype, because this was hard to anticipate on paper." I'm not saying I don't believe your report - maybe you are working in a domain where everything is super deterministic. Anyway, I don't. | | |
| ▲ | nl 10 minutes ago | parent [-] | | I think there's a difference between people getting a system a d realising it isn't actually what they wanted and "never survive collision with reality". They survive by being modified and I don't think that invalidates the process that got them in front of people faster than would otherwise have been possible. This isn't a defence of waterfall though. It's really about increasing the pace of agile and the size of the loop that is possible. |
| |
| ▲ | jll29 10 minutes ago | parent | prev | next [-] | | Perhaps a better way than to view them as alternative choices is to view them as alternative modes of working, between which it is sometimes helpful to switch? We know old-style classic waterfall lacks flexibility and agile lacks planning, but I don't see a reason why not to switch back and forth multiple times in the same project. | |
| ▲ | mentos 44 minutes ago | parent | prev | next [-] | | I believe the future of programming will be specs so I’m curious to ask you as someone who operates this way already, are there any public specs you could point to worth learning from that you revere? I’m thinking the same way past generations were referred to John Carmack’s Quake code next generations will celebrate great specs. | |
| ▲ | yobbo 23 minutes ago | parent | prev | next [-] | | Agile solves the problem of discovering a workable set of requirements while the environment is changing. If you already know the requirements, it doesn't need to come into play. | |
| ▲ | rcarmo 24 minutes ago | parent | prev | next [-] | | Yep. I've been into spec-driven development for a long time (when we had humans as agents) and it's never really failed me. We just have literally more attention (hah!) from LLMs than from humans. | |
| ▲ | catdog an hour ago | parent | prev [-] | | As it is so often in life, extreme approaches are often bad. If you do pure waterfall you risk finding out very late that your plan might not work out, either because of unforeseen technical difficulties implementing it, the given requirements actually being wrong/incomplete or just simply missing the point in time where you planned enough. If you do extreme agile you often end up with a shit architecture which actually, among other things, hurt your future agility but you get a result which you can validate against reality. The "oh, I didn't think of that" is definitely present in both extremes. |
|
|
| ▲ | jakkos an hour ago | parent | prev | next [-] |
| > Pre-training is, actually, our collective gift I feel like this wording isn't great when there are many impactful open source programmers who have explicitly stated that they don't want their code used to train these models and licensed their work in a world where LLMs didn't exist. It wasn't their "gift", it was unwillingly taken from them. > I'm a programmer, and I use automatic programming. The code I generate in this way is mine. My code, my output, my production. I, and you, can be proud. I've seen LLMs generate code that I have immediately recognized as being copied a from a book or technical blog post I've read before (e.g. exact same semantics, very similar comment structure and variable names). Even if not legally required, crediting where you got ideas and code from is the least you can do. While LLMs just launder code as completely your own. |
| |
| ▲ | yuvadam an hour ago | parent | next [-] | | I don't think it's possible to separate any open source contribution from the ones that came before it, as we're all standing on the shoulders of giants. Every developer learns from their predecessors and adapts patterns and code from existing projects. | | |
| ▲ | jakkos an hour ago | parent | next [-] | | If you fork an open source project and nuke the git history, that's considered to be a "dick move" because you are erasing the record of people's contributions. LLMs are doing this on an industrial scale. | | |
| ▲ | OJFord 31 minutes ago | parent [-] | | I don't really understand how that isn't allowed/disallowed simply on the basis of whether the licence permits use without attribution? |
| |
| ▲ | antirez an hour ago | parent | prev | next [-] | | Exactly that. And all the books about, for instance, operating systems, totally based on the work of others: their ideas where collected and documented, the exact algorithms, and so forth. All the human culture worked this way. Moreover there is a strong pattern of the most prolific / known open source developers being NOT against the fact that their code was used for training: they can't talk for everybody but it is a signal that for many this use is within the scope of making source code available. | | |
| ▲ | jakkos 12 minutes ago | parent [-] | | > their ideas where collected and documented Yeah, documented *and credited*. I'm not against the idea of disseminating knowledge, and even with my misgivings about LLMs, I wouldn't have said anything if this blog post was simply "LLMs are really useful". My comment was in response to you essentially saying "all the criticisms of LLMs aren't real, and you should be uncompromisingly proud about using them". > Moreover there is a strong pattern of the most prolific / known open source developers being NOT against the fact that their code was used for training I think it's easy to get "echo-chambered" by who you follow online with this, my experience has been the opposite, i don't think it's clear what the reality is. |
| |
| ▲ | heavyset_go an hour ago | parent | prev | next [-] | | You can say that about literally everything, yet we have robust systems for protecting intellectual property, anyway. | |
| ▲ | Imustaskforhelp an hour ago | parent | prev [-] | | > I don't think it's possible to separate any open source contribution from the ones that came before it, as we're all standing on the shoulders of giants. Every developer learns from their predecessors and adapts patterns and code from existing projects. Yes but you can also ask the developer (wheter in libera.irc, or say if its a foss project on any foss talk, about which books and blogs they followed for code patterns & inspirations & just talk to them) I do feel like some aspects of this are gonna get eaten away by the black box if we do spec-development imo. |
| |
| ▲ | vbezhenar 26 minutes ago | parent | prev | next [-] | | Intellectual property is not absolute and can be expropriated, just like any other property. | |
| ▲ | sneak 15 minutes ago | parent | prev | next [-] | | If you publish your code to others under permissive licenses, people using it to do things you do not want is not something being unwillingly taken from you. You can do whatever you want with a gift. Once you release your code as free software, it is no longer yours. Your opinions about what is done with it are irrelevant. | |
| ▲ | p-e-w an hour ago | parent | prev | next [-] | | > I feel like this wording isn't great when there are many impactful open source programmers who have explicitly stated that they don't want their code used to train these models That’s been the fate of many creators since the dawn of time. Kafka explicitly stated that he wanted his works to be burned after his death. So when you’re reading about Gregor’s awkward interactions with his sister, you’re literally consuming the private thoughts of a stranger who stated plainly that he didn’t want them shared with anyone. Yet people still talk about Kafka’s “contribution to literature” as if it were otherwise, with most never even bothering to ask themselves whether they should be reading that stuff at all. | |
| ▲ | bko 32 minutes ago | parent | prev | next [-] | | I don't understand this perspective. Programmers often scoff at most other examples of intellectual property, some throwing it out all together. I remember reading Google vs Oracle where Oracle sued Google for stealing code to perform a range check, about about 9 lines long, used to check array index bounds. I guess the difference is AI companies bad? This is transformative technology creating trillions in value and democratizing information, all subsidized by VC money. Why would anyone in open source who claims to have noble causes be against this? Because their repo will no longer get stars? Because no one will read their asinine stack overflow answer? https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_.... | |
| ▲ | hjoutfbkfd an hour ago | parent | prev [-] | | when you inplement a quick sort, do you credit Hoare in the comments? | | |
| ▲ | jakkos an hour ago | parent | next [-] | | No, in the same way that I wouldn't cite Euler every time I used one of his theorems - because it's so well known that its history is well documented in countless places. However, if I was using a more recent/niche/unknown theorem, it would absolutely be considered bad practice not to cite where I got it from. | |
| ▲ | OJFord 28 minutes ago | parent | prev | next [-] | | If I was implementing any known (named) algorithm intentionally I think I would absolutely say so in a comment (`// here we use quick sort to...` and maybe why it's the choice) and then it's easy for someone to look up and see it's due to Hoare or whoever on Wikipedia etc. | |
| ▲ | antirez an hour ago | parent | prev [-] | | Now many will downvote you because this is an algorithm and not some code. But the reality is that programming is in large part built looking at somebody else code / techniques, internalizing them, and reproducing them again with changes. So actually it works like that for code as well. |
|
|
|
| ▲ | motoboi 4 minutes ago | parent | prev | next [-] |
| We maybe witnessing the last generation of master software artisans like antirez. This is beautiful to see, their mastery harnessing the power of the intelligent machine tools to design, understand and build. This is like seeing a master of image & light like michelangelo receiving a camera, photoshop and a printer. It's an exponential elevation of the art. But to become a master like michelangelo one had to dedicate herself to the craft of manually mixing and applying materials to bend and modulate light, slowly building and consolidating those neural pathways by reflection and, most of all, practice, until those skills became as natural as getting up or bringing a hand to the mouth. When that happened, art flowed from her mind to the physical world and the body became the vessel of intuition. A master like antirez had to wrap his head around concepts alien to the human mind. Bits, bytes, arrays, memory layout, processors, compilers, interfaces, abstractions, constraints, types, concurrency do not exist in the savannas that forged brains. Had to comprehend and learn to use his own cognitive capabilities and restrictions to know at what level to break the code units and the abstraction boundaries. At the very top, master this in a level so high that software became like Redis: beautiful, powerful and so elevated in the art that it became simpler, not more complex. It's Picasso drawing a dog. The intelligent software building machines can do things no human manually can (given the same time, humans die, get old or get bored), but they are not brush and canvas. They function in another way, the mind needs other paths to master them. The path to master them is not the same path to master artisanal software building. So, this new generation, wanting to build things not possible to the artisan, will become masters of another craft, one we right now cannot even comprehend or imagine, in the same way michelangelo could never imagine the level of control over light the modern photography masters have. Me, not a master, but having dedicated my whole life to artisanal software building, am excited to receive and use the new tools, to experiment the new craft. Also frightened by the uncertainty of this new world. What a time to be alive. |
|
| ▲ | norir 35 minutes ago | parent | prev | next [-] |
| > I'm a programmer, and I use automatic programming. The code I generate in this way is mine. My code, my output, my production. I, and you, can be proud. I disagree. The code you wrote is a collaboration with the model you used. To frame it this way, you are taking credit for the work the model did on your behalf. There is a difference between I wrote this code entirely by myself and I wrote the code with a partner. For me, it is analogous to the author of the score of an opera taking credit for the libretto because they gave the libretto author the rough narrative arc. If you didn't do it yourself, it isn't yours. I generally prefer integrated works or at least ones that clearly acknowledge the collaboration and give proper credit. |
| |
| ▲ | catdog 22 minutes ago | parent | next [-] | | Also it's not only the work of "the model" it's the work of human beings the model is trained on, often illegally. | | |
| ▲ | sneak 12 minutes ago | parent [-] | | Copyright infringement is a tort. “Illegal” is almost always used to refer to breaking of criminal law. This seems like intentionally conflating them to imply that appropriating code for model training is a criminal offense, when, even in the most anti-AI, pro-IP view, it is plainly not. |
| |
| ▲ | sneak 11 minutes ago | parent | prev | next [-] | | Prompting the AI is indeed “do[ing] it yourself”. There’s nobody else here, and this code is original and never existed before, and would not exist here and now if I hadn’t prompted this machine. | |
| ▲ | Craighead 33 minutes ago | parent | prev [-] | | How many JavaScript libraries does the average fortune 1000 developer invoke when programming? |
|
|
| ▲ | layer8 6 minutes ago | parent | prev | next [-] |
| I don’t think that is a good term. We generally designate processes as “automatic” or “automation” that work without any human guidance or involvement at all. Furthermore, they work in a repeated fashion that way, not as individual one-offs. If you have to control and steer something, it’s not automatic. |
|
| ▲ | jll29 13 minutes ago | parent | prev | next [-] |
| In the 1950s/1960s, the term "automatic programming" referred to compiler construction: instead of writing assembler code by hand, a FORula TRANslator (FORTRAN) could "magically" turn a mathematical formula into code "by itself". "4GL" was a phase in the 1980s when very high level languages very provided by software companies, often integrating DB access and especially suited for particular domains. The idea was that one could focus more on the
actual problem rather than having to write boilerplate
needed to solving it. LLMs permit to go from natural language specification to draft implementation. If one is lucky, it runs and produes the desired results right away; more often, one needs to revise the code base iteratively, again navigated by NL commands, to fix errors, to change the design based on reviewing the first shot at it, to add features etc. |
|
| ▲ | rtpg an hour ago | parent | prev | next [-] |
| Every time I hear someone mention they vibed a thing or claude gave them something, it just reads as a sort of admission that I'm about to read some _very_ "first draft"-feeling code. I get this even from people who spend a lot of time talking about needing to own code you send up. People need to stop apologizing for their work product because of the tools they use. Just make the work product better and you don't have to apologize or waste people's time. Especially given that you have these tools to make cleanup easier (in theory)! |
| |
| ▲ | radu_floricica 22 minutes ago | parent [-] | | Yep. And they should also raise their expectations and work on delivering better vibecoded apps. Likely also with automation. |
|
|
| ▲ | jpnc an hour ago | parent | prev | next [-] |
| How does it feel to see all your programming heroes turn into Linkedin-style influencers? |
| |
| ▲ | nvlled 13 minutes ago | parent | next [-] | | I don't see Carmack or Torvalds doing this, so it's all good (for now). | |
| ▲ | Imustaskforhelp 20 minutes ago | parent | prev [-] | | You either die as a programmer hero or live long enough to be a Linkedin-style influencer. On a more serious note, the technology & its use cases of AI are pretty dividing especially within software engineering. I would consider the fact that the financial incentives driving it and the what ~3 TRILLION $ invested in AI driving up some of this divide too. |
|
|
| ▲ | reidrac an hour ago | parent | prev | next [-] |
| > Pre-training is, actually, our collective gift that allows many individuals to do things they could otherwise never do, like if we are now linked in a collective mind, in a certain way. Is not a gift if it was stolen. Anyway, in my opinion the code that was generated by the LLM is yours as long as you're responsible for it. When I look at a PR I'm reading the output of a person, independently of the tools that person used. There's conflict perhaps when the submitter doesn't take full ownership of the code. So I agree with Antirez on that part |
| |
| ▲ | tonyedgecombe an hour ago | parent | next [-] | | >Is not a gift if it was stolen. Yeah, I had a visceral reaction to that statement. | |
| ▲ | slim an hour ago | parent | prev [-] | | It is knowledge, it can't be stolen. It is stolen only in the sense of someone gatekeeping knowledge. Which is as a practice, the least we can say, dubious. because is math stolen ? if you stole math to build your knowledge on top of it, you own nothing and can claim to have been stolen yourself | | |
| ▲ | jakkos 44 minutes ago | parent | next [-] | | Are you against copyright, patents, and IP in all forms then? | | |
| ▲ | catdog 6 minutes ago | parent | next [-] | | Independent of ones philosophical stance on the broader topic: I find it highly concerning that AI companies, at least right now, seem to be largely exempt from all those rules which apply to everyone else, often enforced rigorously. | |
| ▲ | logicprog 26 minutes ago | parent | prev [-] | | I am. |
| |
| ▲ | lou1306 37 minutes ago | parent | prev [-] | | If you are so adamant about this, why don't you release all your own code in the public domain? Aren't you gatekeeping knowledge too? | | |
| ▲ | logicprog 25 minutes ago | parent [-] | | I agree with GP, and so, yes, I release everything I do — code and the hundreds of thousands of painstakingly researched, drafted, deeply thought through words of writing that I do — using a public domain equivalent license (to ensure it's as free as possible), the zero clause BSD. | | |
|
|
|
|
| ▲ | mccoyb an hour ago | parent | prev | next [-] |
| a better term might be “feedback engineering” or “verification engineering” (what feedback loop do I need to construct to ensure that the output artifact from the agent matches my specification) This includes standard testing strategies, but also much more general processes I think of it as steering a probability distribution At least to me, this makes it clear where “vibe coding” sits … someone who doesn’t know how to express precise verification or feedback loops is going to get “the mean of all software” |
|
| ▲ | marmalade2413 an hour ago | parent | prev | next [-] |
| I disagree with referring to this as automatic software as if it's a binary statement. It's very much a spectrum and this kind of software development is not fully automatic. There's actually a wealth of literature on defining levels of software automation (such as: https://doi.org/10.1016/j.apergo.2015.09.013). |
|
| ▲ | conartist6 30 minutes ago | parent | prev | next [-] |
| Describes appropriation and then says "so it's not appropriation". Wat. |
|
| ▲ | xixixao 2 hours ago | parent | prev | next [-] |
| This is a classic false dichotomy. Vibe coding, automatic coding and coding is clearly on a spectrum. And I can employ all the shades during a single project. |
| |
| ▲ | treetalker 23 minutes ago | parent | next [-] | | Distilled: > Users should claim the output of LLMs as their own, for the following reason. LLMs are tools; tools can be used with varying degrees of skill; the output of tools (including LLMs) is a function of the user's skill; and therefore the output is attributable to and belongs to the user. > Furthermore, we should use tools, including LLMs, actively and mindfully. We shouldn't switch off our brains and accept the output uncritically. We should iterate and improve as we go along. I agree with you that the author seems to inappropriately convert differences in degree of skill into differences of kind. | |
| ▲ | pseidemann an hour ago | parent | prev [-] | | AI is like an instrument which can be played in various ways, different styles and intensities. One might say it's spec strumming. |
|
|
| ▲ | falloutx an hour ago | parent | prev | next [-] |
| May be a language issue but "Automatic" would imply something happening without any intervention. Also, I dont like that everyone is trying to coin a term for this but there is already a term called lite coding for this sort of a setup, I just coined it. |
|
| ▲ | heavyset_go 14 minutes ago | parent | prev | next [-] |
| A reminder that that your LLM output isn't your intellectual property no matter how much effort you feel went into its prompting. Copyright protects human creations and the US Copyright Office has made it clear that AI output cannot be copyrighted without significant creative alterations from humans of the output after it is generated. |
|
| ▲ | VadimPR an hour ago | parent | prev | next [-] |
| "I automatically programmed it" doesn't really roll off the tongue, nor does it make much sense - I reckon we need a better term. It certainly quicker (and at times, more fun!) to develop this way, that is for certain. |
| |
| ▲ | antirez an hour ago | parent | next [-] | | You will say I programmed it, there is no longer for this distinction. But then you can add that you used automatic programming in the process. But shortly there will be no need to refer to this term similarly to how today you don't specify you used an editor... | | |
| ▲ | baq an hour ago | parent | next [-] | | I like to think that the prompt is dark magic and the outputs are conjured. I get to feel like a wizard. | |
| ▲ | Imustaskforhelp an hour ago | parent | prev [-] | | (Yes?) but the editor isn't claiming to take your job in 5 years. Also I do feel like this is a very substantial leap. This is sort of like the difference between some and many. Your editor has some effect on the final result so crediting it/mentioning it doesn't really impact it (but people still do mention their editor choices and I know some git repo's with .vscode which can show that the creator used vscode, I am unfamiliar if the same might be true for other editors too) But especially in AI, the difference is that I personally feel like its doing many/most work. It's literally writing the code which turns into the binary which runs on machine while being a black box. I don't really know because its something that I am contradicted about too but I just want to speak my mind even if it may be a little contradicted on the whole AI distinction thing which is why I wish to discuss it with ya. |
| |
| ▲ | falloutx an hour ago | parent | prev | next [-] | | I coined the term lite coding for this after reading this article and now my chatGPT has convinced me that I am a genius | |
| ▲ | sesm an hour ago | parent | prev [-] | | "Throwaway prototype" - that's the traditional term for this. |
|
|
| ▲ | doe88 an hour ago | parent | prev | next [-] |
| @antirez if you reading this, it would be insigthful I think if you could share what is your current AI workflow, the tools you use, etc. Thanks! |
| |
| ▲ | antirez an hour ago | parent [-] | | Thanks, sharing a lot on X / BlueSky + YouTube but once the C course on YouTube will be finished, I'll start a new course on programming in this way. I need a couple more lessons to declare the C course closed (later I'll restart it likely, the advanced part). So I can start with the AP course. |
|
|
| ▲ | prorez 38 minutes ago | parent | prev | next [-] |
| Friendly reminder that almost nobody is working this way now. You (reader) don't have to spend 346742356 tokens on that refactor. antirez won't magically swoop in and put your employer out of business with the Perfect Prompt (and accompanying AI blog post). There's a lot of software out there and MoltBook isn't going to spontaneously put your employer out of business either. Don't fall into the trap of thinking "if I don't heavily adopt Claude Code and agentic flows today I'll be working at Subway tomorrow." There's an unhealthy AI hype cottage industry right now and you aren't beholden to it. Change comes slowly, is unpredictable, and believe it or not writing Redis and linenoise.c doesn't make someone clairvoyant. |
| |
| ▲ | 9dev 28 minutes ago | parent [-] | | Putting your head in the sand and ignoring it all isn't a good strategy either. Like it or not, AI will be a part of the rest of your career in some quantity. Not just because we collectively decide that we want to use these tools, but because tools that undeniably provide a huge productivity boost when used correctly are something the economy cannot ignore. My advice would be to avoid feeling compelled to try every new tool immediately, but at least try to stay aware of major developments. A career in software engineering also dooms you to life-long learning in a very fast changing environment. This is no different. Agents are tools that work quite differently from what we're used to, and need cognitive effort and learning to wield effectively. Waking up one day to realise you're now expected to work naturally in tandem with an AI agent but lack the experience is not a far-fetched scenario. |
|
|
| ▲ | laserlight an hour ago | parent | prev | next [-] |
| Have we ever had autocomplete programming? Then why have a new term for LLM-assisted programming? |
|
| ▲ | rtafs155 35 minutes ago | parent | prev | next [-] |
| "When the process is actual software production where you know what is going on, remember: it is the software you are producing. Moreover remember that the pre-training data, while not the only part where the LLM learns (RL has its big weight) was produced by humans, so we are not appropriating something else." What does that even mean? You are a failed novelist who does not have ideas and is now selling out his fellow programmers because he wants to get richer. |
|
| ▲ | fwlr 2 hours ago | parent | prev | next [-] |
| It’s very healthy to have the “strong anti-disclosure” position expressed with clarity and passion. |
|
| ▲ | mgaunard an hour ago | parent | prev | next [-] |
| I stopped reading at "soon to become the practice of writing software". That belief has no basis at this point and it's been demonstrated not only that AI doesn't improve coding but also that the costs associated are not sustainable. |
| |
| ▲ | reidrac an hour ago | parent [-] | | I continued reading, but you're right. Why did the author feel that it was necessary to include that? |
|
|
| ▲ | mentalgear 14 minutes ago | parent | prev | next [-] |
| I prefer "LLM-assisted programming" as it captures the value/responsibilty boundary pretty exactly. I think it was coined by simonw here, but unfortuantely "vibe coding" become all encompassing instead of proper software engineers using "LLM-assistant" to properly distinguish themselves from vibe bros with very shallow knowledge. |
|
| ▲ | alecco 37 minutes ago | parent | prev | next [-] |
| > if vibe coding is the process of producing software without much understanding of what is going on (which has a place, and democratizes software production, so it is totally ok with me) Strongly disagree. This is a huge waste of currently scarce compute/energy both in generating that broken slop and in running it. It's the main driver for the shortages. And it's getting worse. I would hate a future without personal computing. |
|
| ▲ | rvz 2 hours ago | parent | prev | next [-] |
| > I'm a programmer, and I use automatic programming. The code I generate in this way is mine. My code, my output, my production. I, and you, can be proud. Disagree. So when there is a bug / outage / error, due to "automatic programming" are you ready to be first in line to accept accountability (the LLM cannot be) when it all goes wrong in production? I do not think that would even be enough or whether this would work in the long term. No excuses like "I prompted it wrong" or "Claude missed something" or "I didn't check over because 8 other AI agents said it was "absolutely right"™". We will then have lots of issues such as this case study [0] where everything seemingly looks fine at first, all tests pass but in production, the logic was misinterpreted by the LLM with a wrong keyword, [0] during a refactor. [0] https://sketch.dev/blog/our-first-outage-from-llm-written-co... |
| |
| ▲ | antirez 2 hours ago | parent | next [-] | | > So when there is a bug / outage / error, due to "automatic programming" you are first in line and ready to accept accountability when it all goes wrong in production? Absolutely yes. Automatic programming does not mean software developers are no longer accountable for their errors. Also because you can use AP in order to do ways more QA efforts than possible in the past. If you decide to just add things without a rigorous process, it is your fault. | | |
| ▲ | RobinL an hour ago | parent [-] | | Agree. Much of the value of devs is understanding the thing they're working on so they know what to do when it breaks, and knows what new features it can easily support. Doesn't matter whether they wrote the code, a colleague wrote it, or an AI. |
| |
| ▲ | CraigJPerry 2 hours ago | parent | prev | next [-] | | >> are you ready to be first in line to accept accountability I'm accountable for the code i push to production. I have all the power and agency in this scenario, so i am the right person to be accountable for what's in my PR / CL. | | |
| ▲ | 9dev 40 minutes ago | parent [-] | | That is the policy I set up for our team as well—when you push, you declare your absolute responsibility for any changes you made to the repository, regardless of the way they were conceived. That is really about the least confusing part of the story. |
| |
| ▲ | sirwitti an hour ago | parent | prev [-] | | Owning the issue is one thing, but being able to fix issues with a reasonable amount of resources is another. To me code created like this smells like technical debt. When bugs appear after 6 months in production - as they do, if you didn't fully understand the code when developing it, how much time, energy and money will it cost to fix the problem later on? More often than I like I had to deal with code where it felt like the developer did'nt actually understand what they were writing.
Sometimes I was this developer and it always creates issues. |
|
|
| ▲ | conartist6 27 minutes ago | parent | prev | next [-] |
| This was just such a worthless post that it made me sad. No arguments with moral weight or clarity. Just another hollowed out shell beeping out messages of doom... |
|
| ▲ | songodongo an hour ago | parent | prev | next [-] |
| Not that I necessarily disagree with any of it, but one word comes to mind as I read through it: “copium” |
|
| ▲ | margorczynski 2 hours ago | parent | prev | next [-] |
| Vibe coding is an idiotic term and it's a shame that it stuck. If I'm a project lead and just giving directions to the devs I'm also "vibe coding"? I guess a large of that is that 1-2 years ago the whole process was much more non-deterministic and actually getting a sensible result much harder. |
| |
| ▲ | slfreference 38 minutes ago | parent | next [-] | | Sculpt coding?? Sculding?? Rice by any other name?? | |
| ▲ | nubg an hour ago | parent | prev [-] | | I think if a manager just gave some high order instructions and then went mostly handsoff until teammembers started quitting, dying etc, only then he steps in, that would be vibe managing. Normal managing would be much more supervision and guidance through feedback. This aligns 100% with TFA. |
|
|
| ▲ | noodletheworld an hour ago | parent | prev | next [-] |
| Vibe Engineering. Automatic Programming. “We need to get beyond the arguments of slop vs sophistication..." Everyone seems to want to invent a new word for 'programming with AI' because 'vibe coding' seems to have come to equate to 'being rubbish and writing AI slop'. ...buuuut, it doesn't really matter what you call it does it? If the result is slop, no amount of branding is going to make it not slop. People are not stupid. When I say "I vibe coded this shit" I do not mean, "I used good engineering practices to...". I mean... I was lazy and slapped out some stupid thing that sort of worked. /shrug When AI assisted programming is generally good enough not to be called slop, we will simply call it 'programming'. Until then, it's slop. There is programming, and there is vibe coding. People know what they mean. We don't need new words. |
| |
| ▲ | 9dev 38 minutes ago | parent [-] | | That's kind of Salvatore's point though; programming without some kind of AI contribution will become rare over time, like people writing assembly by hand is rare now. So the distinction becomes meaningless. |
|
|
| ▲ | keepamovin an hour ago | parent | prev | next [-] |
| Thank you. I and you can be proud. Yes we can! :) I posted yesterday about how I'd invented a new compression algorithm, and used an AI to code it. The top comment was like "You or Claude? ... also ... maybe consider more than just 1-shotting some random idea." This was apparently based on the signal that I had incorrectly added ZIP to the list of tools that uses LZW (which is a tweak of LZ78, which is a dictionary version of the back-reference variant by the same Level-Ziv team of LZ77, the thing actually used in Zip). This mistake was apparently signal that I had no idea what I was doing, was a script kiddie who had just tried to one shot some crap idea, and ended up with slop. This was despite the code working and the results table being accurate. Admittedly the readme was hyped and that probably set this person off too. But they were so far off in their belief that this was Claude's idea, Claude's solution, and just a one-off that it seemed they not only totally misrepresented me and my work, but the whole process that it would actually take to make something like this. I feel that perhaps someone making such comments does not have much familiarity with automatic programming. Because here's what actually happened: the path to get from my idea (intuited in 2013, but beyond my skills to do easily until using AI) was about as far from a 'one-shot' as you can get. The first iteration (Basic LZW + unbounded edit scripts + Huffman) was roughly 100x slower. I spent hours guiding the implementation through specific optimization attempts: - BK-trees for lookups (eventually discarded as slow). - Then going to Arithmetic coding. First both codes + scripts, later splitting. - Various strategies for pruning/resetting unbounded dictionaries. - Finally landing on a fixed dict size with a Gray-Code-style nearest neighbor search to cap the exploration. The AI suggested some tactical fixes (like capping the Levenshtein table, splitting edits/codes in Arithemtic coding), but the architectural pivots came from me. I had to find the winning path. I stopped when the speed hit 'sit-there-and-watch-it-able' (approx 15s for 2MB) and the ratio consistently beat LZW (interestingly, for smaller dics, which makes sense, as the edit scripts make each word more expressive). That was my bar: Is it real? Does it work? Can it beat LZW? Once it did, I shared it. I was focused on the bench accuracy, not the marketing copy. I let the AI write the hype readme - I didn't really think it mattered. Yes, this person fixated on a small mistake there, and completely misrepresented or had the wrong model of waht it actually took to produce this. I believe that kind of misperception must be the result of a lack of familiarity with using these tools in practice. I consider these kind of "disdain from the unserious & inexperienced" to be low quality, low effort comments than essentially equate AI with clueless engineers and slop. As antirze lays out: the same LLMs depending on the human that is guiding the process with their intuition, design, continuous steering and idea of software. Maybe some people are just pissed off - maybe their dev skills sucked beofre AI, and maybe they still suck with AI, and now they are mad at everything good people are doing with AI, and AI itself? Idk, man. I just reckon this is the age where you can really make things happen, that you couldn't make before, and you should be into and positive. If you are a serious about making stuff. And making stuff is never easy. And it's always about you. A master doesn't blame his tools. |
|
| ▲ | sandruso an hour ago | parent | prev [-] |
| > Pre-training is, actually, our collective gift that allows many individuals to do things they could otherwise never do, like if we are now linked in a collective mind, in a certain way. The question is if you can have it all? Can you get faster results and still be growing your skills. Can we 10x the collective mind knowledge with use of AI or we need to spend a lot of time learning the old wayTM to move the industry forward. Also nobody needs to justify what tools they are using. If there is a pressure to justify them, we are doing something wrong. |
| |
| ▲ | Imustaskforhelp 40 minutes ago | parent [-] | | People feel ripped off by AI & products which use AI. So this is the reason why you have to justify the tool use of AI. |
|