In informatics metaprogramming is a technique consisting in developing computer programs (sets of instructions) that output other programs. While simple programming means instructions generating data, metaprogramming means instructions generating instructions. In general the prefix “meta” means a thing/cause that stays at a higher semantic/ontological level than another thing/effect (in the case of metaprogramming we have a two-level hierarchy where a parent program creates child programs). For a tutorial introduction to metaprogramming see for example the following Jonathan Bartlett’s brilliant articles:
one, two and three.
DNA contains instructions, biological code for working-out various constructive cellular jobs (making proteins, setting developmental parameters, etc.). Question (inspired by the above ascertainment and readings): does DNA contain also meta-programs beyond simple programs?
Much DNA (outside its coding-for-proteins portions) seems without function (junk-DNA). Is it possible that some junk-DNA is meta-code able to assembly other DNA code? This could be an interesting ID prediction. Many have noted as the information amount contained in the genomes seems really too little to account for the overall complexity of organisms. Metaprogramming would be exactly one of the techniques able to compress the biological information.
If the “DNA-metaprogramming” ID prediction were confirmed in the lab this would provide additional terrific evidence of design inside the cell. In fact metaprogramming involves an additional level of abstraction upon the classic programming level. After all intelligence is what can construct hierarchies of unlimited levels of abstraction. Who would bet that the intelligence that designed life limited itself to simple programming only and didn’t use advanced programming? In my opinion just the bottom programming level is absolutely outside the range of what undirected evolution can reach (for reasons of principle). But unfortunately we see not even the discovery of programming in the cell convinced evolutionists about ID. May be would the discovery of biological metaprogramming convince them finally?
Bartlett himself also provided some insights about the presence of metainformation in the cell here and here (last two pages). I think these works represent genuine ID research and go in the direction of confirmation of a possible ID prediction about the presence of metainformation in the cell.
The analysis contained in these docs of the VDJ recombination system as a metaprogramming system is persuasive. It is likely that in front of the difficult problem of generating “millions or billions of antibodies out of a relatively few number of genes” a skilled software developer would resort to metaprogramming. Really it seems the designer of life used such advanced technique (or something like that) to solve difficult biological tasks (like to engineer parts of the immunitary system).
Usually metaprogramming implies the development of a new metalanguage that serves to assembly constructs of an object language, which in turn will be run by the hardware. Eventually metalanguage and object language can be the same (e.g. “nihil obstat” that one writes a metaprogram using the C language to output another C program). In this case the syntactical level remains the same, nonetheless the semantic level of the former respect the latter is higher. Only intelligence can stack semantic levels. The double level of abstraction superimposed on matter implied in metaprogramming applied to biology is a thing that sure is very far from the low material level of the natural laws and randomness and should help to convince anybody about the sophisticated design of life.
As last note, this issue emphasizes again the importance of the involvement in biology of computer science experts (and specialists of other fields too) who are in the same time ID supporters. Before the many applications and explanations suggested by ID one doesn’t understand as evolutionists might say that the ID perspective is not useful to science.