Borrowing from General Systems Theory, object oriented programming could be enriched with some biological metaphors. That is, software as information processing in a cell, an organ, a body, a community. Some possibly useful concepts: * compartmentalisation * permeable membranes * multiple parallel units * more emphasis on processes than objects * reacting to environmental conditions * homeostasis, distributed control * self-repair and adaptation * autonomy * affect and effect (see AffectVsEffect) * inter-object communication * communication spaces (eg, local and global) * "transmitters" (local communication) * "hormones" (global messages, receptor targets) * immune systems * metabolisms * nervous systems * "energy" or "currency" economies. Nothing outstandingly new, but it would be good if these were built into the programming language from the ground up. --MarkBek What you are suggesting I think is a set of existing analogies which may be useful in software. Fair enough, but only much use if you are already well steeped in these analogies.... The way cells handle information is in a different league from the way we as programmers 'design'. One of the big underlying differences is that code is fragile, whereas feedback in cells means that a disruption to the basic data is partially corrected by feedback mechanisms and becomes an opportunity for change. Biologists are familiar with multiple interacting levels of feedback systems, in a way that programmers are not - ''yet''. ---- CategoryComparisons