I don't disagree but
> Will we converge on a bug free state?
I have never witnessed this state in my two decades of software work. Why would we think AI will magically achieve this?
I don't disagree but
> Will we converge on a bug free state?
I have never witnessed this state in my two decades of software work. Why would we think AI will magically achieve this?
Software robustness, at least in terms of "has the app crashed on any client machines today", is achievable. It's just expensive enough to achieve that most people (rightly or not) don't prioritize it, and the more moving parts (like third party libraries or language runtimes) your application has the harder it is to achieve. Maybe AI will lower the cost of achieving that.
When I worked on Guild Wars every server or user crash went to a shared inbox and was bucketed so we could identify and act on new crashes. IIRC we maintained very, very low production crash rates and could prove that many of the crashes were due to hardware faults.
Similarly, Mozilla tries to analyze and act on every crash report they get in the field. If a webpage visited by even a small % of the customer base was causing crashes, the team worked to try and fix the crash to deliver stability. If it was a high-traffic webpage it got treated as a high-priority task - I remember Farmville breaking was basically a 3-alarm fire back when it was extremely popular.
"No bugs at all" is an even higher bar, but it probably is possible for simpler applications with the use of stuff like theorem provers. I'd love to see someone try it in production but I think the return on investment for that is probably super super negative.
I operate on a "no known bugs" basis with quite a bit of effort invested to try to find new, unknown bugs.
The idea that every crash isn't acted on is kind of a crazy one, to me. Not every crash is actually actionable in e.g. a mobile app, but every one should at least get an eyeball in my opinion.
This, to me anyway, is the bare minimum of "caring about software quality". If you do this regularly you'll have very solid code, and it's interesting that I have the perception at least that Guild Wars was a quality product.
There's another layer, where you do that for subthreshold issues like UI inconvenience, etc, but that's bonus, I think.
having spent thousands of hours in gw1 and hundreds in gw2, I don't think I ever had an actual crash, and only very minor gameplay bugs. congrats :D
For all the talk about AI making teams super productive, I don't see much talk about AI improving software quality.
It's a shame, though, because I believe there is a lot of potential there.
I mean, quality is easier with the right tooling (monitoring, linters, property-based tests, theorem prover...). But, given limited resources, it can feel difficult to prioritize investing in quality when business is pressing devs to ship, ship, ship.
But now the cost of writing custom tooling has changed. These custom tools might be sloppy because vibe-coded but we wouldn't have them otherwise! Or we might finally have decided to make that investment after too much time suffering from their absence. Now the cost/benefit changed, so why not invest now?
> But now the cost of writing custom tooling has changed. These custom tools might be sloppy because vibe-coded but we wouldn't have them otherwise
There’s a lot of good tools out there that are not used, either because of ignorance of their existence or lack of expertise. An hour of config can pay real dividend later.
And sometimes you just use some unix utilities and hack a bash script while testing things out.
After 15 years on the field, I still lack a lot of expertise. Many teams do, as you say.
LLM can save hours of doc reading for non-critical tools that I would otherwise not use. Its also pretty good at "hacking a bash script" in order to test things out. Not everyone is confortable writing bash scripts.