2005-06-22
Logic or belief?
When I was a young boy I choose to study physics. Pure science, rational. Theories can be confirmed by observations. A scientist produces evidence for his theory. Quite simple, not? Well, no, it’s not that simple. Soon I learned about Karl Popper and falsifiability. Every theory is true ... as long as it is not proven to be false. Therefore a scientific theory must be testable. It should be possible to do an observation that contradicts the theory.
A very strong point about Popper’s theory is that it is scientific according to its own definition, in itself it is testable and falsifiable. Yet, quite soon after its publication many examples were given of theories that did not match all observations. Nonetheless, people still held these theories for true, even when there were serious discrepancies between theory and observations. They argued that is was still the best theory they had. A classical example is the Newtonian mechanics. Long before Einstein published the Special Theory of Relativity there were many observations that did not match Newtonian mechanics. So, everyone believed Einstein when he published his theory that explained those observations? Not really. Many people didn’t want to believe it, among them some well-known physicists. Later, Einstein himself didn’t want to accept certain consequences of the Quantum Theory. "God doesn’t play dice with the universe", he said. (Stephen Hawking's lecture about it)
Thomas Kuhn postulated a new theory about the evolution of scientific theories. He described it in The Structure of Scientific Revolutions. (Unfortunately, according to Popper this theory is not scientific, since it is not falsifiable.) A new scientific theory is not accepted easily. It should fit in man’s conception of the world. If it doesn’t there has to be a paradigm shift. It takes time for people to change their understanding of the world. They always tend to stick to their old ideas. Slowly, sometimes after a generation or two a new idea gets accepted.
During my studies and the academic work I did later it became clear to me that science is not just about theory and proofs. In science you have to promote your ideas, convince people that your theory is important, that your solution is better. Improved! New formula! Whiter than white! Science is a market activity and you need alliances. As a scientist you have to be a little bit of a politician. (It would be good if a politician has to be a little bit of a scientist…)
Maybe that's why I left science and moved to software development. There you build something and a computer executes it. It’s pure logic. One of my first project leaders quite often replied "RTFM" (Read The <bleep> Manual) to people bothering him with questions about software. Then I was still young and innocent. Later, I had commercial training and answered, "Please, check the reference book. On page 243 you find a similar problem with an example.... You already read the book?! ... It’s not working?... Oh, you’re using Microsoft! OK. Forget about the manual. Forget about logic. Forget the standards.... Let’s see how we can work around this problem."
Slowly I discovered that also software development is not just pure logic. It’s done by people! There are people and organizations with influence and power. There are trends. There are commercial interests. You need strength to defend your ideas. Sometimes you’re surprised that someone easily accepts your idea, because you’re an authority for them. Sometimes you just have to live with poor concepts, because you can't beat them.
Enfin, Software development is just like science or any other human activity. It’s not just ruled by logic. It’s influence that counts.
A very strong point about Popper’s theory is that it is scientific according to its own definition, in itself it is testable and falsifiable. Yet, quite soon after its publication many examples were given of theories that did not match all observations. Nonetheless, people still held these theories for true, even when there were serious discrepancies between theory and observations. They argued that is was still the best theory they had. A classical example is the Newtonian mechanics. Long before Einstein published the Special Theory of Relativity there were many observations that did not match Newtonian mechanics. So, everyone believed Einstein when he published his theory that explained those observations? Not really. Many people didn’t want to believe it, among them some well-known physicists. Later, Einstein himself didn’t want to accept certain consequences of the Quantum Theory. "God doesn’t play dice with the universe", he said. (Stephen Hawking's lecture about it)
Thomas Kuhn postulated a new theory about the evolution of scientific theories. He described it in The Structure of Scientific Revolutions. (Unfortunately, according to Popper this theory is not scientific, since it is not falsifiable.) A new scientific theory is not accepted easily. It should fit in man’s conception of the world. If it doesn’t there has to be a paradigm shift. It takes time for people to change their understanding of the world. They always tend to stick to their old ideas. Slowly, sometimes after a generation or two a new idea gets accepted.
During my studies and the academic work I did later it became clear to me that science is not just about theory and proofs. In science you have to promote your ideas, convince people that your theory is important, that your solution is better. Improved! New formula! Whiter than white! Science is a market activity and you need alliances. As a scientist you have to be a little bit of a politician. (It would be good if a politician has to be a little bit of a scientist…)
Maybe that's why I left science and moved to software development. There you build something and a computer executes it. It’s pure logic. One of my first project leaders quite often replied "RTFM" (Read The <bleep> Manual) to people bothering him with questions about software. Then I was still young and innocent. Later, I had commercial training and answered, "Please, check the reference book. On page 243 you find a similar problem with an example.... You already read the book?! ... It’s not working?... Oh, you’re using Microsoft! OK. Forget about the manual. Forget about logic. Forget the standards.... Let’s see how we can work around this problem."
Slowly I discovered that also software development is not just pure logic. It’s done by people! There are people and organizations with influence and power. There are trends. There are commercial interests. You need strength to defend your ideas. Sometimes you’re surprised that someone easily accepts your idea, because you’re an authority for them. Sometimes you just have to live with poor concepts, because you can't beat them.
Enfin, Software development is just like science or any other human activity. It’s not just ruled by logic. It’s influence that counts.