Policies like this will result in the death of the branded software.

As we move forward it will be easier than ever to just maintain and keep your fork of software with the changes you want or need. No more approval, bureaucracy, or arguing. Just tell the AI agent want you want changed and you have it.

This will be used for huge things too. Like maybe you want a specific fork of Java that only supports for each iterators, goodby linters, hello compile time error.

You truly envision a future where every program is written in a custom programming language, for a custom operating system, for a single user who will now be in charge of understanding and maintaining it forever? That user being your grandma, your baker, your CEO?

I do.

Software as a list of requirements and that's it. The local LLM appliance everybody has taking in a document specifying hardware, interfaces, and requirements and spitting out software changeable locally via conversation with its users.

In the same way you have a cookbook with recipes to make dinner instead of ordering out.

> Software as a list of requirements and that's it. [...] a document specifying hardware, interfaces, and requirements [...]

For that, you'd want the list of requirements and hardware documentation to be written in a precise, formal language. That's no different than writing them in a programming language (though a declarative one, instead of the more common imperative ones).

I've in the past (way before LLMs existed) thought about automatically generating device drivers from hardware documentation. But besides the need for very precise documentation, hardware never works exactly as documented; a human-written device driver can avoid problematic areas (perhaps even by accident), while a computer-written device driver would end up exploiting every corner case of the documentation.

> For that, you'd want the list of requirements and hardware documentation to be written in a precise, formal language. That's no different than writing them in a programming language (though a declarative one, instead of the more common imperative ones).

From my perspective, this is a damning conclusion to the argument.

That being said, I can hear him asking Claude to generate a rebuttal as we speak.

Requirements ARE written in a precise, formal language. These days most people don't actually have any contact at all with real requirements though as practiced by professionals.

There is quite a bit of distance between the exactness of any human language and an sort of programming languages. When you have a language model loaded with software engineering best practices you do not need the exactness of a programming language to describe desired behavior.

Hardware documentation is indeed often lacking in plenty of ways but in a world where writing your own software through agents is commonplace, the hardware manufacturers (or the community) would make testing that documentation to find the problems an important part of hardware development.

Most people don't bake their own bread even if it's more approachable, and cheaper then vibecoding. Bread is just a recipe one may say. But in modern times have we ever witnessed disappearance of specialization? I don't think so.

That is a cool perspective to consider.

> easier than ever to just maintain and keep your fork of software with the changes you want or need

I don't imagine this is practical or desirable for all situations. Good software is built from being battle tested by many users in many environments. Even with the advancements in AI tools, I don't imagine they'll become omnipotent anytime soon.

> No more approval, bureaucracy, or arguing

For software that can kill people or substantively affect someone’s life in a negative way, the bureaucracy is there for good reason. I don't think anyone should want someone at Phillips to vibe code the control software for an X-Ray machine or an employee at CrowdStrike vibe coding the next update before pushing it out to millions of machines.

We are forced to endure low-quality software because there is little or no accountability. I can only imagine what you propose would make an already poor situation worse.

I have my doubts about this. Brands are a about reputation, and reputation strongly affects responsibility when business decisions are made. If a manager decides to vibecode a solution which eventually fails, said manager will be punished. If instead a mainstream software is bought, and it fails - well, everybody has the same trouble around, right? It's not a personal mistake anymore. I suppose there are niches where branded software may give way, but I don't think it's gonna be a general trend.

This just reflects how absolutely clueless you are about the amount of attention to detail that the OpenJDK folks put into developing the language and ensuring that it works for all its users (which are serious users delivering actual value.) And I say this not even being a Java programmer myself, just an envious C++ dude watching from the sides.

> maintain and keep your fork of software with the changes you want or need

Then you'll have the same problem everyone who forks a piece of software ends up having, sooner or later: as the original evolves, keeping your fork up to date with the upstream changes becomes harder and harder. The bigger and more invasive the changes are, the harder synchronizing with newer releases become.

Someone brings this up on just about every AI-related thread. I think it's nonsense. Nobody wants to maintain a fork of any remotely complex software, not even with AI. And in a corporate setting, nobody wants to use your custom fork; they just want to use the standard software they already know with the quirks they've already learned.

This is far more likely to happen in a corporate setting with competent engineers who want to build/solve now versus relying on others. I've seen it 100% of the time with varying results.

[deleted]

The idea of someone forking Java with vibe code nonsense and expecting them to be able to maintain is laughable.

Except. . . (accept)... SaaS solves the problem of needing one piece of software to communicate between multiple (many) users and/or other pieces of software.

Can't picture a functioning world where every piece of software is custom and requires factorial amount of AI comparisons and reviews to patch the API to communicate. In fact, it's impossible! There's not enough compute to handle a factorial explosion.

I really doubt SaaS going anywhere.

Given how much of the industry is SaaS that would be such a self own! Wow, fantastic, you can build all your software in house, zero dependencies. Wait, your users can do the same? And they don’t need to pay you anymore for any of your cool services because they just asked their agents to recreate your infra from scratch? Interesting, truly the future of humanity

> Wow, fantastic, you can build all your software in house, zero dependencies. Wait, your users can do the same? And they don’t need to pay you anymore for any of your cool services because they just asked their agents to recreate your infra from scratch?

The cherry on top is that OpenAI and Anthropic brainwashed your coworkers and your company's C-suite into uploading the entirety of the "proprietary" codebase onto their servers thousands of times per day over the last three years.

No need to brainwash, they did it willingly and with a smile, tweeting about how they are part of the revolution while telling us all how we will be left behind

Relevant xkcd: https://xkcd.com/605/

[deleted]

LOL

[dead]

I think it's even more pervasive than that. Why bother forking software at all? At the point in which code generation is meaningfully trivialized, software becomes entirely disposable. Anything you want, have a model spin it up. You don't even need libraries, the model can just make everything in-situ, who cares? Why on earth would I ever want to use SQLite if I have access to a sufficiently advanced code generator which can generate me a similarly high quality database system, with the added benefit of conforming to whatever my problem domain is, conforming to whatever branch of database theory I want?

Even SaaS isn't safe. I don't even have to describe your product to my system, I just have to give it a harness with access to the interface and have it replicate it locally. Frankly you can probably already prompt for that.

The only thing holding this future back right now are pricing problems and code generation quality. Both of those barriers are constantly being knocked down. We might never arrive at that future, but it's definitely a higher probability than solving AGI's scaling issues, and would arrive much sooner for technical users.

> Why on earth would I ever want to use SQLite if I have access to a sufficiently advanced code generator which can generate me a similarly high quality database system

Because SQLite has 10k requirements that wouldn't even cross your mind to write down, but 80% of which are useful to you.

The nice thing about natural language is that nesting semantic layers is free and arbitrary, and far more tractable than in a formal grammar. Every natural language is like coherentist ω-order logic. Effectively, I don't have to write the 10k requirements. I only need to provide a sufficient metatheory that can be extrapolatable to those 10k requirements, and that can include embedded theory I did not write myself but am familiar with enough to invoke, as well as refinement criteria ranging from the fuzzy to the explicit with priority weighting parameters to describe the shape in which I want the search space pruned.

This isn't anything new or particularly interesting. It's the entire basis upon which ILP demonstrated generality. A metatheory to synthesize 10 trillion rules isn't even scratching the surface of what you can reasonably do. The key was finding out the tractable semantics for actually computing it in reasonable amount of time, which right now is looking decidedly like informal semantics was the answer the whole time.

Not sure what this is a parody of, but it's hilarious, thank you. Keep it up!

I accept your concession. The humiliation of irrationally committed foundationalists has been a long time coming, so it's good you're trying to get ahead of the curve.

>Why on earth would I ever want to use SQLite if I have access to a sufficiently advanced code generator which can generate me a similarly high quality database system

https://www.youtube.com/watch?v=V_qzqY1bb7I your sufficiently advanced code generator may generate you a high quality database system for some measure of quality, but it will not have SQLite's reliability over the extremely long tail of edge cases proven through its testing and use in real life

Then you've failed the criteria of sufficiently advanced. It's perfectly fine to cast doubt we'll see scaling to this generalization, but you're not casting doubt you're outright rejecting the premise in-confidence. It betrays that you have no idea what you're talking about. May I see your quantification of this long tail? Do you even know how to formalize the mapping from n-bit precision of weights and/or activations to the standard deviation of a transformer's output distribution, such that we could decide whether the long tail of a given behavior is unreachable? Something tells me that no, you don't know how to do that in the slightest. So what drives you to speak with such confidence?

That's before we get into the entire non-linearity of agentic systems introducing massive decidability problems on this in the first place. A little bit of epistemic humility please.

You still spend all your time troubleshooting the reinvented wheels even if AI writes it because you won’t know the edge cases til you hit them. Then you modify the lib, re-release, and update all your apps, but now look where all your time is spent.

The assumption you make is the classic LLM mistake of thinking writing code === building software.

To cite your example SQL has had its tires kicked a lot it’s seen things you can’t even imagine thanks to being used millions of times by millions of people. It’s hard to just replicate all that iteration, learning, mastery, and process. If you reinvent it, users will encounter the dumbest bugs over and over and over. Sure you’ll fix them, but you’re now embarking on this big thing that SQL and others already did.

If you love the problem space definitely do it - go full steam ahead - especially if you’re actually innovating and doing things better, but don’t be fooled into thinking anyone can, or should with every side project.

The new struggle is focus, what not to build, I almost have the purely opposite view of instead of using LLMs for grandiosity, only using the LLM for tedium and making sure it doesn’t do anything too much that I haven’t planned for or want to do. I drive the thing, so every new project is still my time and energy and focus.