News for hackers. Stuff that matters.
Re:AI is forcing us to pay off 40 years of technical debt by dbingham on Wednesday November 04, 2026 @11:40AM (#50368136)
While I whole-heartedly support the goal of actually bug free software and treating software engineering as a serious engineering discipline, as an experienced software engineer who also studied physics, I have to challenge your base premise about what it means to make engineering explicit.

Namely:

> The only way to do that is to make your code provable.

Proofs are a mathematical concept. They only work in the abstract world of mathematics where everything is perfectly logical.

Engineering exists in the real world. The physical realm where our mathematics are only imperfect models of what actually exists. Removing bugs through physical engineering requires persistent trial and error until you have found all the places where our mathematical models don't adequately represent the real world.

It's the same in software engineering, which involves cobbling together a myriad of systems not all designed to talk to each other and massive, ever changing codebases where perfect knowledge is impossible.

So yes, we should be trying to engineer bug free code. But that's really more a matter of changing our resource allocation, spending more time and money on QA and doing away with mottos like "Move fast and break things". It's a cultural shift and will only come when the bosses -- the venture capitalists who ultimately control our industry -- are held accountable when things break, and given strong incentives to ensure they don't break.

Re:AI is forcing us to pay off 40 years of technical debt by bathtub365 on Wednesday November 04, 2026 @11:44AM (#50368203)
[delayed]
Re:AI is forcing us to pay off 40 years of technical debt by joshheitzman on Wednesday November 04, 2026 @11:56AM (#50368369)
A PE for software engineering was available for a while: https://ncees.org/ncees-discontinuing-pe-software-engineerin...

But there wasn't enough demand and it was discontinued.

Re:AI is forcing us to pay off 40 years of technical debt by gmueckl on Wednesday November 04, 2026 @12:23PM (#50368689)
The legal framework for software liability is tightening. The Cyber Resilience Act is one such example that forces developers to get their act together.
Re:AI is forcing us to pay off 40 years of technical debt by WalterBright on Wednesday November 04, 2026 @12:36PM (#50368872)
Back when I worked at Boeing, I was encouraged to get a PE license. I looked into it. I was not impressed with the exam (it was too basic), nor the requirements, and so did not bother.
Re:AI is forcing us to pay off 40 years of technical debt by IAmBroom on Wednesday November 04, 2026 @02:03PM (#50370056)
This is a zero-value post.

"I decided for myself that X wasn't worth me pursuing as a path for my career." Good for you.

I made the same decision for professional photography and cardiac surgery, but both of those careers still hold value to society.

Re:AI is forcing us to pay off 40 years of technical debt by WalterBright on Wednesday November 04, 2026 @03:39PM (#50371177)
The point was that the PE cert is a low bar as an indication of competence.
Re:AI is forcing us to pay off 40 years of technical debt by AnthonyMouse on Wednesday November 04, 2026 @01:45PM (#50369826)
> It's a cultural shift and will only come when the bosses -- the venture capitalists who ultimately control our industry -- are held accountable when things break, and given strong incentives to ensure they don't break.

The problem here is that the correct amount of resources is context-dependent.

Suppose you're a small business and you're putting up a website to display the menu for your restaurant and directions to get there. Do you want it to get compromised? Of course not. Does it matter very much if it does? Eh. Should you spend $50M in formal verification to make sure it doesn't? Definitely not.

Whereas if you're developing the software that keeps planes from falling out of the sky, that's an entirely different context.

The problem comes when someone grabs the awful WordPress junk that was suitable for displaying static menus and wants to use it to process credit cards. But even that isn't really the fault of the awful WordPress junk, it's the fault of the credit card companies for designing their financial technology in such a ridiculous way that Merchant A has to be given a secret that allow purchases to be made against the same card at Merchant B, instead of using the decades-old cryptography that would prevent the customer from ever needing to give anyone a secret that enables that wide a scope of compromise.

Re:AI is forcing us to pay off 40 years of technical debt by Loquebantur on Wednesday November 04, 2026 @01:45PM (#50369827)
The physical world is actually part of mathematics. Look into John Archibald Wheeler and his "It from bit". In particular, the physical world is finite. Therefore, mathematical proofs very much apply to physics.

You're right about approximations: we gather data and improve theoretical models in an attempt to exhaust that complexity reality poses.

You're wrong about exhaustive knowledge about codebases being impossible. LLMs enable exactly that.

The trick then is to transfer that knowledge in a usable way to what we know about the codebase.

I agree with the necessary cultural shift.

Re:AI is forcing us to pay off 40 years of technical debt by saalweachter on Wednesday November 04, 2026 @02:02PM (#50370042)
Keep in mind, a mathematical proof is just "an argument that convinces a mathematician".

It doesn't actually give you the truth of a statement, it just convinces a mathematician of its truth.

That doesn't actually change when computers are brought into things. You can convince a mathematician that an automatic theorem prover constructs correct proofs with another proof, but it's "I think this looks right" all the way down.

Re:AI is forcing us to pay off 40 years of technical debt by Loquebantur on Wednesday November 04, 2026 @03:47PM (#50371273)
No, you're incorrect. A mathematical proof actually is a program by the Curry-Howard correspondence.

Mathematicians are trained to act as the compiler, verifying the code, doing the type checks, and to a degree the state machine "running" those programs.

Human mathematicians use introspection to tell you whether a proof/program does what it is supposed to do. They keep those programs small enough to be run on human brains by modularization, abstracting away complexity behind defined interfaces. They mostly rely on other mathematicians to have checked those sub-modules properly.

By defining that state machine, compiler and the tree of "all" known proofs as programs explicitly on a computer, you get Lean and the according libraries of verified proofs.

A proof-program there is verified when it compiles and passes the deterministic structural type-checks built into the language while fulfilling the requirements stated for its interface.

It all reduces to a few thousand lines of trusted code, the Lean kernel, being correct. It's mostly what humans do too, but actually considerably more thorough.