I don't think I really agree with any of that. The binary aspect of software workingness doesn't really matter... Code is just bits of information that gets massaged around, there's no reason why the tools to do so can't improve.
Sure the specific example of visualizing an arbitrary algorithm over all inputs might be a little unrealistic, but the point of the post wasn't that we need that specific thing.
I'm not denying it's a complex problem (grokking what the code does is hard already, nevermind grokking what it should do), but complex problems aren't fundamentally impossible, they're just... complex!
Sure the specific example of visualizing an arbitrary algorithm over all inputs might be a little unrealistic, but the point of the post wasn't that we need that specific thing.
On the contrary, this is exactly what we need. Easy visualization is the reason why word processors, photo editors, video editors, music notation and audio software, DTP packages, and 3D programs are so much more powerful than IDEs. WYSIWYG gives the user a view of the entire state of the document they're working on. Users can see what's wrong or what needs doing, then fix it.
It's certainly possible to create this in an IDE in a small number of specific cases, but it's totally impossible in general (and I mean this in the truest sense of the word "impossible").
I agree with you and the author of the post that we should definitely work on getting IDEs smarter, and there's a lot of scope for improving them. It's just that computer science places a hard limit on how far we can go.
I entirely disagree that visualization is a/the missing panacea.
Code is not a visual thing nor does it even represent a visual thing -- making it visual accomplishes nothing (except for making it visual).
Pictures, formatted document text, 3d models and videos are visual things. Music notes are a specific type of visual language, audio is time-linear-spatial (or something less gibberishy like that) and can be represented visually. These things are all extremely different from software.
Surely it will be really hard to get better ways of visualizing code, it's an abstract thing and so it's hard to represent.
But what we are really missing is execution visualization. Applications aren't code, applications are execution systems and it's a shame to test execution/debug like we do today.
As someone has said, it's almost impossible to test all inputs for an algorithm, it's impossible to prove the correctness of an application without testing it.
Without testing we're nothing, most of us can surely say in which conditions our applications will break, but how sure are we to say in which conditions will it work? Much harder.
I would love to work in IDE improvement as I believe there is really a lot of things to improve.
Sure the specific example of visualizing an arbitrary algorithm over all inputs might be a little unrealistic, but the point of the post wasn't that we need that specific thing.
I'm not denying it's a complex problem (grokking what the code does is hard already, nevermind grokking what it should do), but complex problems aren't fundamentally impossible, they're just... complex!