On 6/16/2012 1:39 PM, Wesley Smith wrote:
If things are expanding then they have to get more complex, they encompass
more.
Aside from intuition, what evidence do you have to back this statement
up? I've seen no justification for this statement so far. Biological
systems naturally make use of objects across vastly different scales
to increase functionality with a much less significant increase in
complexity. Think of how early cells incorporated mitochondria whole
hog to produce a new species.
in code, the later example is often called "copy / paste".
some people demonize it, but if a person knows what they are doing, it
can be used to good effect.
a problem is partly how exactly one defines "complex":
one definition is in terms of "visible complexity", where basically
adding a feature causes code to become harder to understand, more
tangled, ...
another definition, apparently more popular among programmers, is to
simply obsess on the total amount of code in a project, and just
automatically assume that a 1 Mloc project is much harder to understand
and maintain than a 100 kloc project.
if the difference is that the smaller project consists almost entirely
of hacks and jury-rigging, it isn't necessarily much easier to understand.
meanwhile, building abstractions will often increase the total code size
(IOW: adding complexity), but consequently make the code easier to
understand and maintain (reducing visible complexity).
often the code using an abstraction will be smaller, but usually adding
an abstraction will add more total code to the project than that saved
by the code which makes use of it (except past a certain point, namely
where the redundancy from the client code will outweigh the cost of the
abstraction).
for example:
MS-DOS is drastically smaller than Windows;
but, if most of what we currently have on Windows were built directly on
MS-DOS (with nearly every app providing its own PMode stuff, driver
stack, ...), then the total wasted HD space would likely be huge.
and, developing a Windows-like app on Windows is much less total effort
than doing similar on MS-DOS would be.
Also, I think talking about minimum bits of information is not the
best view onto the complexity problem. It doesn't account for
structure at all. Instead, why don't we talk about Gregory Chaitin's
[1] notion of a minimal program. An interesting biological parallel
to compressing computer programs can be found in looking at bacteria
DNA. For bacteria near undersea vents where it's very hot and genetic
code transcriptions can easily go awry due to thermal conditions, the
bacteria's genetic code as evolved into a compressed form that reuses
chunks of itself to express the same features that would normally be
spread out in a larger sequence of DNA.
yep.
I have sometimes wondered what an organism which combined most of the
best parts of "what nature has to offer" would look like (an issue seems
to be that most major organisms seem to be more advanced in some ways
and less advanced in others).
wes
[1] http://www.umcs.maine.edu/~chaitin/
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc