https://news.ycombinator.com/item?id=32048972
(Also links to previous discussions on this theme.)
You can think of a design, build it and have it work as you expect. You can’t do that in biology.
The reason is that we “understand” how computers work. Our understanding of biology is nowhere near that level. A high percentage of established knowledge is wrong or so incomplete that it’s not useful for designing new systems. This is hard for engineers or even scientists from physics and chemistry to accept.
I've been a software engineer for 20 years now, I don't underestimate the complexity of computer systems or software - I think the number of people in the world who could really accurately describe every part of every system involved in showing you this note to you is maybe ten - but we've got nothing on biological systems.
When I say we “understand” everything that matters about a computer; I don’t mean one person understands. I mean each important part is understood by at least one person. Together humanity understands everything important about a computer.
Maybe by definition: current existing things in evolution are not "more compressable" (for us) without losing meaning? (Their meaning could be estimated though through -leaky- abstractions?)
Teleological matter are the machines you get when the vast majority of the form cannot be designed.
Digital computers are only noisy compared to the simplest processes, like a low rate transmission line. Compared to biological or chemical processes, a digital computer is just ludicrously low-noise, because noise doesn’t propagate unless there is a major fault.
Reality has no such constraint. If the biological processes of some animal lead to inscrutable irreducibly complex "spaghetti code" but the animal is slightly more likely to produce offspring... the complexity wins. The natural world doesn't care whether or not we can understand it.
(There is, of course, a natural selection pressure going the other direction. Brains that understand the natural world do seem to often be generally more likely to produce offspring, so there's evolutionary pressure for minds to understand the world, but not for the world to be understood by minds.)
I would argue that the evolutionary pressure only applies to a limited level of understanding of the physical world. Think how many kids people like Stephen Hawkings have and how many poorly educated people have.
Sure uneducated people now often have more kids due to less contraception options/knowledge and as old age insurance. But then again rich people have more kids than middle class because of well more money and everything that comes with it.
In any case all of this is anecdotal and emotion based because there is not much good data on this. Or maybe there is?
Do they? I am pretty sure that the vast majority of the human population is poor and not just "I can't afford an iPhone poor" but "I have no food on the table" poverty. The rich are but a tiny minority. In terms of reproduction, poor people win easily. Last time I check, rich people are more likely to be highly educated compare to anyone else and education is a predictor of reproduction rate (more education and less reproduction and less education and more reproduction).
I always find this kind of phrasing problematic due to its implicit anthrophomorphic metaphors.
Whether spaguetti code or not, I think that people often just assume that we have the capacity to understand it give the period of time between now and when humans disappear (because of evolution, a meteorite, climate change or human intervention). I am highly skeptical. Maybe, whatever species emerges after us, might have a better chance but to them we might be no different than a homo erectus is to us homo sapients.
I think the opposite is actually true for code that lives in long-running projects that change hands relatively often. It seems like the safest state for code to be in is actually to be incomprehensible, so it's too "scary" for any developer to refactor. All the comprehensible code can meanwhile be safely moved around until it's eventually incomprehensible as well.
Speaking from complete naivete about biology, I wonder if there's a similar game going on with viruses and cell machinery. If the cell's processes are too "legible", then presumably they're easier for a virus to evolve to hijack.
The central dogma is DNA -> RNA -> protein, except that: 1. RNA can fold into a functional molecule 2. RNA can be spliced differently to make several different proteins 3. RNA can bind with proteins to create other functional units 4. The availability of amino acids and TRNA units within the cell affects the speed at which a protein is translated from RNA, which can affect its structure, which affects its function 5. The codon language is not guaranteed identical between organisms, which means the same RNA sequence can encode for different amino acid sequences in different organisms
And that's just in the transcription/translation machinery. That's what I mean when I say there's no abstraction: biology is a physical system, which means molecular & atomic interactions influence every level of every process.