Article appears to be well meaning, but is just another exhausting example of Brandolini's law:
> Dijkstra claims simplicity is a prerequisite for reliability. According to Dijkstra, if we encounter a system that’s reliable, it must be a simple system, because simplicity is required to achieve reliability. reliability ⇒ simplicity
Begged question. Dijkstra did not reason by analytically smashing a problem's bones with Occam's axe.
This author seems to not understand anything about his premise and wildly waves his hands to a associate his begged question with attributions to authors:
> reliability ⇒ complexity Look at classic works on improving the reliability of real-world systems like Michael Nygard’s Release It!, Joe Armstrong’s Making reliable distributed systems in the presence of software errors, and Jim Gray’s Why Do Computers Stop and What Can Be Done About It?
Suggestions for how to incrementally decrease the failure modes of a system you don't understand should not be attributed to Dijkstra! He didn't think like this. He was interested in reasoning about program correctness. His concerns were why should you trust the output of a program; formally, how do you know it is correct; how can you show you understand a program. He reasoned about programming mathematically, from axioms, through theorems, to lemmas, to proofs. He did his reasoning about correctness via consideration of carefully defined problems and computing machines.
To clarify context about "computational" correctness, Dijkstra'a life spanned a time where the word computer went from meaning a human being performing a calculation— implying all the richness of human thought brought to bear on a problem— to the edge our modern world of pocket devices with trillions of parts running at billions of cycles per second.
As to any analogy of reliability taken from biology: please note that life's primary contour of fitness is expressed in death!
anyonecancode•1d ago
I don't think article is comparing like things. Biological _systems_ are indeed complex and reliable, but biological _processes_ are not. They fail all the time -- if they didn't there'd be no need for an immune system (and on the flip side, there'd be no genetic mutation and so no natural selection and evolution). To compare like to like, look at processes vs programs, not systems vs programs.
_wire_•1d ago
> Dijkstra claims simplicity is a prerequisite for reliability. According to Dijkstra, if we encounter a system that’s reliable, it must be a simple system, because simplicity is required to achieve reliability. reliability ⇒ simplicity
Begged question. Dijkstra did not reason by analytically smashing a problem's bones with Occam's axe.
This author seems to not understand anything about his premise and wildly waves his hands to a associate his begged question with attributions to authors:
> reliability ⇒ complexity Look at classic works on improving the reliability of real-world systems like Michael Nygard’s Release It!, Joe Armstrong’s Making reliable distributed systems in the presence of software errors, and Jim Gray’s Why Do Computers Stop and What Can Be Done About It?
Suggestions for how to incrementally decrease the failure modes of a system you don't understand should not be attributed to Dijkstra! He didn't think like this. He was interested in reasoning about program correctness. His concerns were why should you trust the output of a program; formally, how do you know it is correct; how can you show you understand a program. He reasoned about programming mathematically, from axioms, through theorems, to lemmas, to proofs. He did his reasoning about correctness via consideration of carefully defined problems and computing machines.
To clarify context about "computational" correctness, Dijkstra'a life spanned a time where the word computer went from meaning a human being performing a calculation— implying all the richness of human thought brought to bear on a problem— to the edge our modern world of pocket devices with trillions of parts running at billions of cycles per second.
As to any analogy of reliability taken from biology: please note that life's primary contour of fitness is expressed in death!