Wednesday, July 23, 2008

Software - A machine or an organism or ?

The first obvious difference between machines and organisms is the fact that machines are constructed, whereas organisms grow. …

Whereas the activities of a machine are determined by its structure, the relation is reversed in organisms - organic structure is determined by processes

This is how Fritjof Capra opens up chapter 8 of his celebrated book “Turning point”

How do we understand software …? As a machine or an organism? Does software grow? How do we understand software by it structure or by observing (!!!) it behavior? What are useful models of software that help us to understand?

What kind of thing is this software? One thing is sure … it is not just code …

A general System …!!!! It is code and about various connected systems … can you think of all those systems connected with software system or systems?


1 comment:

Inder P Singh said...

Though most (if not all) software is a system that interacts with other systems, I tend to think of software as an implementation of a human mental model. A human mental model gets created, it grows and adapts, it interacts with the environment and influences/ is influenced by the environment and it is communicated (reproduced). Therefore, a human mental model can be considered as a kind of organism. If we could consider software as an implementation of the mental model, then it would make sense to understand it by observing its dynamic behavior by providing it inputs in the form of tests.

Inder P Singh