|
|
|
|
|
by peterwwillis
2806 days ago
|
|
Agreed. Systems and programs are basically the same thing, anyway. Anything you can say about a program, you can say about a system, and vice versa. The big difference is, you instrument a program, but you do not instrument a system. The system just exhibits the properties of the interaction of the programs, and expresses effects on them. A comparison would be a computer system is like a biological ecosystem, whereas a program is like an individual biological entity. Much like biological systems, computer systems and programs are made up of small similar pieces that have defined functionality, and their interactions result in a system. Microbiology results in macrobiological systems, and macrobio results in ecosystems, etc. Program, system, whatever; it's turtles all the way down. Also, this: > we can also consider replacing the write-then-run program idea [..] with an incremental model where the programmer successively provides more detail about the desired behavior and a constraint solving system refines the behavior So, like, test-driven Agile programming? |
|
We do instrument systems, consider strace or https://zipkin.io/
> A comparison would be a computer system is like a biological ecosystem.
Excellent analogy and one that I really like. What are the 'programs of biology'? One way of decomposing this is 'spacial' - e.g. a cell is a program, a limb or an organ is another larger one etc. But what about the nervous system, circulatory system, etc.? Aren't they useful perspectives but they span different units in the spacial decomposition. Can I view and modify them directly? What about updates - consider attaching another limb vs changing the electrical conductivity of neurons - while preserving some consistency and enforcing constraints.