Every single empirical discipline (think biology, physics, medicine, chemistry) would die to have a useful and realistic model of the objects under study, instead of having to rely on expensive experiments to learn anything. In computer science, we do have this luxury: we know exactly how a computer works to a degree of fidelity that makes other scientists jealous. Sure, the low-level details like understanding cache misses, tricky interactions between components, or concurrency issues can be complicated. But, at least in principle, we can reason about the behaviour of any software to understand exactly its properties.
Share this post
The quest to make programming empirical
Share this post
Every single empirical discipline (think biology, physics, medicine, chemistry) would die to have a useful and realistic model of the objects under study, instead of having to rely on expensive experiments to learn anything. In computer science, we do have this luxury: we know exactly how a computer works to a degree of fidelity that makes other scientists jealous. Sure, the low-level details like understanding cache misses, tricky interactions between components, or concurrency issues can be complicated. But, at least in principle, we can reason about the behaviour of any software to understand exactly its properties.