3 ms·
I've had a similar realisation regarding the parallels between software design and scientific theories. In science you have observed phenomena, and you try to f
by placebo 12y ago
I've had a similar realisation regarding the parallels between software design and scientific theories. In science you have observed phenomena, and you try to find the best (preferably simplest) theory/abstraction that will both explain them and also be able to explain phenomena that you haven't observed yet. In software engineering, you have a set of current requirements and you try to find the best (and hopefully simplest) architecture/abstraction that will meet the current requirements but also be able to naturally accommodate requirements that you haven't foreseen. Both science and software engineering try to devise abstractions that try to convey some "higher truth" than the given data, and both invariably need to be reassembled into a higher abstraction when reality doesn't agree with them, but the test of a good scientific theory as well as a good software architecture is how long can the abstraction hold until something doesn't fit the model.
- deleted 12y ago[deleted]