|
|
|
|
|
by jacques_chester
2683 days ago
|
|
I felt that the "hitting the guardrails" example was a bit mixed. Adjusting in reaction to a sensed environment is pretty much what control means. On further reflection, it signals that the rest of the article intends to set up a false dichotomy that relies on a definition to serve in place of a proof. The central puzzle is the idea that one can have "intellectual control" -- what seems to be a kind of metaphysical confidence in the software -- without, you know, using it. Yes, there is a nod to formal methods. Sure, there are types. But the author appears to simply handwave away the step at which the Mighty Controller Of Intellect runs the software. At which point he or she is -- gasp! -- testing the software. Comparing the theory to the reality and updating each as seems prudent. It seems as though the author instinctively feels that there must a hatchway out of the universe into the Platonic realm. But then faces the old problems of dualism: how, pray tell, does this mysterious crystalline form actually interact with boring statistical matter? Edit: I updated this comment several times, so you'll see scar tissue where I stitched it. |
|
I think Dijkstra wouldn't be satisfied with anything other than proofs. The article is meant to look at the ways we write programs that fall short of his standard (ie almost everything) and ask if there are gradations there. I find pretty big differences in code that's written to meet the lowest bar of "just pass the tests" vs code that's written with the intent of keeping its state space small, methods tidy, and overall complexity limited. I don't know of great language to convey that distinction so I'm borrowing the term "intellectual control".
The article is also available as HTML: https://ieeexplore.ieee.org/document/8611447