3 ms·
He conflates science and logic. Science and logic are two very different things. for example, given: f(x) = x*0; verify the hypothesis that: for all n
by crimsonalucard 7y ago
He conflates science and logic. Science and logic are two very different things.
for example, given:
f(x) = x*0;
verify the hypothesis that:
for all n in Real Numbers, f(n) = 0
To verify the above using science you would take a statistical sample of x and verify that it equals zero for that sample.
1*0 == 0
2*0 == 0
3*0 == 0
4*0 == 0
That's four test samples out of an infinite domain. To fully verify the function f via science you technically need infinite test cases to verify the fact. Usually you can never achieve this in reality so science usually takes what you call a "sample" and you say that if the sample is true very likely the hypothesis is true. The only assumption science makes is that probability theory applies to events in reality.
Note the isomorphism between science and unit testing; Same bs with none of the statistical rigor.
To do the same in logic you have to make assumptions from axioms and logically derive a proof from axioms.
The previous thing which was called a hypothesis is now called a theorem:
for all n in Real Numbers, f(n) = 0
The proof of the theorem from the axioms of arithmetic can be found here: https://math.stackexchange.com/questions/400605/a-proof-of-n0-0 https://math.stackexchange.com/questions/400605/a-proof-of-n...
That being said how does Type theory and code apply to science and logic and engineering?
Type theory is part of logic it is not part of science. Don't conflate the two.
What is engineering? Engineering is creating solutions for problems using either or both Science/Logic. In the realm of software engineering there is very little of both, It's all an art. Logic is rarely employed for verification and when it's done it's usually just type checking; and testing isn't done to a rigorous level that other scientific and engineering disciplines require.
For say the creation of the 787 airliner. The entire plane is built theoretically in software to such a degree that when they actually materialize the theoretical model as a physical prototype it can actually fly. Then after it is built they test it rigorously to a very high degree.
For most of software, none of the above is is ever done. We mostly work like artists, just making shit up (design patterns) and adhoc automated testing.
So in all practicality your coding job has no relation to either science, engineering or logic. You are an artist.
I know technically you apply bits an pieces of science and logic in your programming job but ultimately you use adhoc logic and science for even crossing the street, I'm not going to count programming as a "science" due to this.
- eli_gottlieb 7y ago>That's four samples out of an infinite domain. To fully verify the function f via science you technically need infinite test cases to verify the fact. Usually you can never achieve this in reality so science usually takes what you call a "sample" and you say that if the sample is true very likely the hypothesis is true. The only assumption science makes is that probability theory applies to events in reality. Usually equating null-hypothesis significance testing with the scientific method is a sign of cargo cult.
- crimsonalucard 7y agoTo verify an entire domain you need to test the full domain. I'm not strictly equating inference or verification to science. I am simply equating this: https://www.wikiwand.com/en/Scientific_method https://www.wikiwand.com/en/Scientific_method Testing and hypothesis are the key words. Prediction is the other keyword. Analysis I never covered, but you assumed I used null hypothesis testing. Tell me what is your opinion of all of this since you think my opinion is a 'cargo cult.'