In software engineering, an analogy is sometimes made using biological cells. I would like to know whether it has basis in fact.

People say (Alan Kay was first) that "objects" in software should be like cells: separate from one another, communicating by passing messages. This separateness has been argued by saying that a cell spends much of its metabolic energy keeping its insides in and its outsides out. The implication is that programmers should likewise spend significant effort maintaining boundaries between parts of a system.

Is this actually true? What percentage of its energy does a cell generally spend maintaining its contents?

(My guess is that the answer varies wildly depending on the cell and its environment, but some ballpark example numbers would be nice.)

  • $\begingroup$ This could be a difficult question to answer, because where do you draw the line? Just the energy required to maintain the phospholipid bilayer? Or would the estimate also include the energy required to maintain the cytoskeleton? As you say, these components vary drastically between cell-types so an accurate estimate will be hard to come by. Arguably the majority of the cells energy is spent on maintaining the integrity of the cell - which includes all the component parts, without which the cell would not fully function and may not be as effective at maintaining its 'boundary'. $\endgroup$ – Luke Aug 14 '12 at 12:15
  • $\begingroup$ @Luke - unfortunately, I lack the knowledge to frame the question more precisely. Given the ambiguity of my question, an answer like "depending on the definition and the cell, a minimum of about %X and a maximum of about %Y" would be perfectly fine. $\endgroup$ – Nathan Long Aug 14 '12 at 12:21
  • $\begingroup$ There's "more to it" than just that. Does the energy needed for transcription of the proteins that diffuse out of the cell count? $\endgroup$ – LanceLafontaine Aug 14 '12 at 12:29
  • 1
    $\begingroup$ @NathanLong my apologies for not being very helpful, but the answer could surely be anywhere between ~5% and ~95% (extremes obviously), because it depends where the line is drawn. I will be interested to see what others put as answers though! $\endgroup$ – Luke Aug 14 '12 at 12:37
  • $\begingroup$ @LanceLafontaine - sorry, as I said, I don't know enough to answer that; please assume whatever seems most reasonable to you. $\endgroup$ – Nathan Long Aug 14 '12 at 12:50

I'm going to take a stab at this. Its a difficult question to get right, just to put is in the right mood here.

Lets leave energy out of this as the proper term is structure. The cell is designed to compartmentalize itself to differentiate its own living tissue from other cells.

In this regard Alan Kay's analogy is pretty good. In multicellular organisms, individual cells (mostly) each maintain their own DNA and energy storage, though they get their nutrients and energy from outside. They create the organism as a whole by differentiation; each cell changes to take on a specialized role and depends on other cells to support it. E.g. in animals some cells/organs digest the food and distribute nutrients to the rest, others form the lung and help distribute oxygen and others scrub the blood of waste.

This is somewhat like good code design where functions are partitioned out into specialized parts of the software for the sake of maintainability and organization.

Somewhere after this point I think the analogy breaks down since after all the point of good coding practice is to organize the code for understanding within reasonable human conceptual limits. The cells and how they organize themselves are still plenty mysterious to us as they have their own definition of roles and function much of which is still being discovered today. For instance the many kinds of neurons in the brain and the sorts of structures they form are extremely diverse. We have few organizing principles for predicting how many cell types would exist in a system and these only create partial answers.

After all its just an analogy...

getting close to an answer?


This is an old question by now, but thought I'd give it a shot anyway. I am guessing the "insides in and outsides out" refers to maintaining intracellular concentrations of nutrients and other important molecules.

The cell does spend a lot of energy to maintain high concentrations of amino acids and other key metabolites in the cytoplasm. The cell membrane is permeable to these molecules to allow uptake from the surroundings, but this also creates the problem that molecules are as likely to diffuse out as diffuse in. To maintain a concentration of any molecule higher than that of its surrondings, the cell must actively "pump" molecules inwards, which obviously costs energy. This goes on all the time; it's a constant fight against thermodynamics.

A number of active pumps exist in cells, and it's experimentally difficult to measure the energy consumption of all of them. One very important pump though is the Na/K-ATPase, which uses ATP (energy) to maintain sodium and potassium gradients across the cell membrane, which are in turn used to drive transport of other molecules. The energy requirement of the Na/K-ATPase is readily measurable; this review article estimates 19--28% of total energy consumption. This should be viewed as a lower bound.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.