This is not true. Software can have several reading frames in a way
exactly analogous to the dna example. Of course the unit of the byte
does not change (just as one the unit of the dna does not), but
instruction sequences do.
An artificial but realistic example:
If 23 is the code for directly loading a byte into the processor
(followed by one data byte), 45 is the code for copying an address
to another address (followed by two data bytes), 62 outputs the
current byte into an output stream (no following data bytes) and 02
is the code for stop.
Take the four bytes 23 45 62 02 where interpretation happens to start
at byte one:
23 45 62 02
load 45 output stop
^^^
If the interpretation happened to start at byte two it would mean:
23 45 62 02
copy between 62 02
^^^
In fact, different reading frames are far easier to set up in
computer software than in dna as there are NO start codes, the
interpretation is done ENTIRELY by context.
This is, of course, difficult to DESIGN IN as intentional features of
code, but has been occasionally used in obtuse copy protection
mechanisms. It can occur in genetic programming where code is
artificially evolved (depending on the structural language over which
the evolution occurs).
----------------------------------------------------------
Bruce Edmonds
Centre for Policy Modelling,
Manchester Metropolitan University, Aytoun Building,
Aytoun Street, Manchester, M1 3GH. UK.
Tel: +44 161 247 6479 Fax: +44 161 247 6802
http://bruce.edmonds.name/bme_home.html