> Are you ok with having a codebase that is effectively a black box?
When was the last time you looked at the machine code your compiler was giving you? For me, doing embedded development on an architecture without a mature compiler the answer is last Friday but I expect that the vast majority of readers here never look at their machine code. We have abstraction layers that we've come to trust because they work in practice. To do our work we're dependent on the companies that develop our compilers where we can at least see the output, but also companies that make our CPUs which we couldn't debug without a huge amount of specialized equipment. So I expect that mostly people will be ok with it.
>When was the last time you looked at the machine code your compiler was giving you?
You could rephrase that as “when was the last time your compiler didn’t work as expected?”. Never in my whole career in my case. Can we expect that level of reliability?
I’m not making the argument of “the LLM is not good enough”. that would brings us back to the boring dissuasion of “maybe it will be”.
The thing is that human langauge is ambiguous and subject to interpretation, so I think we will have occasionally wrong output even with perfect LLMs. That makes black box behavior dangerous.
We certainly can't expect that with LLMs now but neither could compiler users back in the 1970s. I do agree that we probably won't ever have them generating code without more back and forth where the LLM complains that its instructions were ambiguous and then testing afterwards.
For vaccines like the measles vaccine where it can entirely stop the spread in a vaccinated population this can be true until enough people think this way that measles starts spreading in your vicinity.
But with Covid-19 vaccination wasn't able to eliminate its spread so it mostly is about protecting yourself rather than protecting others.
Back when those machines existed, UB meant "the precise behaviour is not specified by the standard, the specific compiler for the specific machine chooses what happens" rather than the modern "a well-formed program does not invoke UB". For what it is worth, I compile all my code with -fwrapv et. al.
You can even dissolve the uranium in the water and use the same substance for both fuel and propellant and so capable of reaching far higher temperatures than those that would cause any engine to melt.
It's way easier to make a fission bomb than a fission reactor. I reactor has to stay in the very narrow window where it's critical but not prompt critical. Even pure fission bombs can be marvels of engineering but the simplest gun-type bomb is easier to build than the simplest nuclear reactor.
Without a precisely timed neutron initiator you'll get a fizzle. Either way, gun-type bombs require highly enriched uranium. A simple reactor can be literally just brickwork of natural uranium and graphite.
Reactors are much much simpler to pull off, which is why US had the first reactor whole 2.5 years before a nuclear bomb.
Something that explodes with the force of 100 tons of TNT is still a bomb, even if it isn't a bomb as impressive as the one you were hoping for. And getting the reactor you're thinking of to the point that it worked without exploding took a lot more effort than you're suggesting.
The bit about "The water tanks in the reactor were full, and the uranium fuel rods were at risk of melting through the water tanks, potentially releasing a force equivalent to a multi-megaton nuclear device and devastating much of Europe with radiation." is sort of complex to judge.
It is absolutely true that that scenario was impossible and couldn't actually happen. But as far as we can tell (documented in Voices of Chernobyl) someone at a similar meeting to the one portrayed in the TV show did really say that that could happen as portrayed in the TV show. But of course the audience is going to assume that things scientists say in shows like this are accurate.
When was the last time you looked at the machine code your compiler was giving you? For me, doing embedded development on an architecture without a mature compiler the answer is last Friday but I expect that the vast majority of readers here never look at their machine code. We have abstraction layers that we've come to trust because they work in practice. To do our work we're dependent on the companies that develop our compilers where we can at least see the output, but also companies that make our CPUs which we couldn't debug without a huge amount of specialized equipment. So I expect that mostly people will be ok with it.
reply