{"id":2649,"date":"2003-01-31T23:39:33","date_gmt":"2003-01-31T18:09:33","guid":{"rendered":"http:\/\/alpha.ravikiran.com\/blog\/2003\/01\/31\/life-imitates-software\/"},"modified":"2003-01-31T23:39:33","modified_gmt":"2003-01-31T18:09:33","slug":"life-imitates-software","status":"publish","type":"post","link":"https:\/\/www.ravikiran.com\/blog\/vintage\/200301\/life-imitates-software\/","title":{"rendered":"Life imitates Software"},"content":{"rendered":"<p>This article says that genes are analogous to software components.<\/p>\n<p><cite><font size = -1>The genetic code is truly digital, in exactly the same sense as computer codes. This is not some vague analogy, it is the literal truth. Moreover, unlike computer codes, the genetic code is universal. Modern computers are built around a number of mutually incompatible machine languages, determined by their processor chips. The genetic code, on the other hand, with a few very minor exceptions, is identical in every living creature on this planet, from sulphur bacteria to giant redwood trees, from mushrooms to men. All living creatures, on this planet at least, are the same &#8220;make&#8221;. <\/p>\n<p>The consequences are amazing. It means that a software subroutine (that&#8217;s exactly what a gene is) can be carried over into another species. This is why the famous &#8220;antifreeze&#8221; gene, originally evolved by Antarctic fish,can save a tomato from frost damage. In the same way, a Nasa programmer who wants a neat square-root routine for his rocket guidance system might import one from a financial spreadsheet. A square root is a square root is a square root. A program to compute it will serve as well in a space rocket as in a financial projection<\/font><\/cite>(<a href=\"http:\/\/www.checkbiotech.org\/root\/index.cfm?fuseaction=news&#038;doc_id=4575&#038;start=1&#038;control=173&#038;page_start=1&#038;page_nr=101&#038;pg=1\" class = \"source\">Checkbiotech.org<\/a> )<\/p>\n<p>Interesting, but I found something amiss in the logic.  A moment&#8217;s thought and I figured out what it was. Reusability does not come spontaneously. It is <i>designed.<\/i>  It is not immediately obvious to a programmer that a particular piece of logic he is coding has potential for reuse. A dumb programmer coding to find the square root, for example is apt to mix up this code with the code he wrote for database access, or some other thing. Someone with some intelligence has to give thought and figure out what bits of code are reusable. Then how comes it that genes which evolved spontaneously have such high modularity and  hence reusability?<\/p>\n<p>I think the answer is <i>inheritance<\/i> &#8211; in this case, literal inheritance. LIke software, organisms too evolve from a simple base to more complicated ones. So simple organisms had genes that perform simple functions.  When they evolved to complicated ones, the original genes stay the same and new ones get added on to perform the complicated functions. <\/p>\n<p>Hmm&#8230; So the analogy is apt after all. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article says that genes are analogous to software components. The genetic code is truly digital, in exactly the same sense as computer codes. This is not some vague analogy, it is the literal truth. Moreover, unlike computer codes, the genetic code is universal. Modern computers are built around a number of mutually incompatible machine [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts\/2649"}],"collection":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/comments?post=2649"}],"version-history":[{"count":0,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts\/2649\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/media?parent=2649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/categories?post=2649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/tags?post=2649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}