Advertisements
Posted by: jsonmez | April 25, 2011

The Most Complex Program of All Time

What if I told you that there is a program so complicated that is the source responsible for all other programs ever created?

Give me your most complex program and I will trump it by presenting you with the program that was responsible for creating the human who created that program.

If you haven’t figured it out by now that program is human DNA and that masterful programmer is the Creator Himself.

dna_500

Doesn’t matter what religion you are

It is pretty difficult to fail to recognize that a program as complex as a human being’s genetic code was created, not randomly assimilated.

As programmers we have a unique perspective in life.  We are able to truly understand God’s masterwork in the creation of human life.  We are able to grasp loosely the ungraspable magnificence of a program so complicated, yet executed so simply.

We also have the unique position of fundamentally understanding that complex programs could never be created by random chance, regardless of time.  We can look at a piece of code or functioning computer program and we can understand that its creation required an intelligent creator.  Other people and professionals do not have this insight that so many of us are fortunate to have.

Qualities of the code

We’ve been treating data like code recently in C# with the introduction of Lambda expressions and other languages have been doing it for much longer, but the ultimate example of this practice is right there in our own DNA.

DNA is data, a message, and code all together at once.  Just like a data structure in the memory of a computer executing a program, it lacks meaning without the context of the cell that it is in.  Amazingly though, this data is recombined in different ways that are dictated by two separate and different instances of itself to produce a third separate instance of itself that still makes sense.

Just to give you an idea of how insanely complex that idea is (despite the simple execution of it), it would be like if you wrote a webserver that could spawn new instances of itself by contacting another, but different copy of your webserver and getting 1/2 the source code payload from itself and the contacted server, then actually combining that code to create a new copy that is different, yet still passes all of your unit and integration tests.

One of the qualities we often look at for our code is the size of the code in relation to what it can accomplish.

A decent estimate is that the human genome is about .35 gigabytes of data.  That data is stored on such a small space that we can’t even see it with the naked eye.  There is no more compact form of data in the universe that we know of.

Not only is this data compact, but consider how much functionality is built into this small .35 gigabyte package?  If you had to write acceptance tests for the human body, you might spend several lifetimes doing it.  If you had to write acceptance tests for just a single cell in your body, that feat itself could take years and still not be complete.  Imagine trying to write a program that took up .35 gigabytes of data, yet contained millions of acceptance tests worth of functionality.

We certainly could go on and on about the qualities of the human code, but I want to point out what perhaps is one of the most unique and amazing… the ability for the code to create its own hardware.

In actuality the code and that hardware are much the same.  DNA replicates by a chemical reaction that causes the entire molecule to unwind and split.  RNA inside a cell is created from specific portions of the DNA in order to create different protein chains which are used to construct little machines that will replicate the DNA and cells and in turn create machines capable of doing the same.

The process is very complex and not wholly understood, but in effect the end result is that DNA contains the instructions inside of a cell to create the machinery to host another copy of itself and execute that code.

Easter eggs

Let’s not forget the little Easter eggs that have been thrown in by the designer of our codebase.

How about a hiccup or a tear?

Sadness or laughter?

There are some “evolutionary theories” as to why these things exist, but in reality they serve no specific purpose for either our survival or well being.

In my mind these are clearly Easter eggs left by the designer to show His handiwork.

Why am I writing this post now?

I didn’t want to go completely off subject and boast about my wonderful daughter that was born on April 17th 2011 at 2:33 PM, since this is a professional blog. 

0417sophiasonmez-favs-16

But, there you have it.

The amazing birth of my first child reminded my of the incredibly complex code that keeps us all breathing, procreating and living life that we seem to take for granted each and every day.

Welcome to the world Sophia Grace!

As always, you can subscribe to this RSS feed to follow my posts on Making the Complex Simple.  Feel free to check out ElegantCode.com where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter here.
Advertisements

Responses

  1. Congratulations on the birth of your daughter. That’s a great picture too. But as to the theory espoused in this post, you simply beg the question. Who created the creator? Surely that code must be even more complex? You’d have to conjure a still greater creator… and so on ad infinitum. Faith is one thing, and we all need that for sure, but trying to explain faith with logic will always fall short.

    • Thank you for this insightful post and to the gentleman that suggested the Greatest Show on Earth book by Richard Dawkins.

      Software design may be difficult, but it’s something that we can come to understand by studying it and improving our collective skills. Over time, we’ve also learned to grasp the steps that took place in evolution as well as astrophysics in the creation of the universe. If there’s anything this blog has taught me (and I’d argue it’s taught me a lot), it’s that we must continue to look for the best solutions and answers to hard problems. Invoking god or a higher power that just poof’d everything into existence is contrary to the ideas presented by the author of this blog. Let’s not give up on rational, deep thinking just because we’re overwhelmed by something as beautiful as a newly born child.

      • Well put, Jeremy. I’d also like to point out that DNA isn’t a program in the same sense that computer programs are. It’s much more like a blueprint. Beside that, the majority (somewhere between 90 and 98%) of the “code” in DNA is “junk code” and serves no purpose.

  2. Mandatory reading: http://www.amazon.com/Greatest-Show-Earth-Evidence-Evolution/dp/1416594787

  3. Congrats

  4. Great post John, and congrats on the birth of your daughter!

  5. What a great post! I was just thinking the same things the other day and wondering how someone could look at the complexity of life and think it all just came to be. And it was my, albeit limited, experience in development that really drove it home for me. Try as I might, I could never get a working program just by throwing characters together at random. Never.

    Congrats on the birth of your daughter. I have 2 of my own and it is amazing. Tough, but absolutely amazing and worth every sacrifice. Congratulations.

    • The difference between your “random characters” analogy is that life evolved over a period of billions of years. If you hit keys at random and then tried to run that code TRILLIONS, possibly QUADRILLIONS of times, it will certainly create code that runs.

  6. Nice post, I totally agree, and congratulations.

    How otherwise intelligent people can swallow the stunningly illogical evolution theory is beyond me.

  7. Evolution isn’t necessarily true, and faith is fine, but the argument you put forward here is a canonical logical fallacy. I would expect better from a developer 😉 http://en.wikipedia.org/wiki/Argument_from_ignorance#Argument_from_incredulity_.2F_Lack_of_imagination

    Congrats on the daughter!

  8. The Blind Watchmaker http://www.youtube.com/watch?v=VhJdai8eKic

  9. Thanks for the replies and the congratulations!
    Without diving too far into the muck here. Let me just make this statement.

    It requires just as much faith to believe that something was created from nothing and that order evolved from chaos randomly as it does to believe that some higher eternal being without beginning or end willed it into existence.

    Neither position has conclusive proof, and if you really take the time to read the books on both sides of the argument. (There are some great literal creation books, presenting just as much scientific evidence as provided by authors like Hawkin. Which I admit is slim on either side.)

    The point is, I think we can all agree conclusively that either viewpoint requires faith. Let’s not pretend one is fact and one is mysticism.

    Based on the assumption that great faith is required from either position, I simply look at patterns to get my bearings.

    The point of this post is not to argue the case for the Creator by fact, because as some posters have mentioned, that can not be done. (Most people don’t realize the same restrictions apply to other “scientific” theories of cosmology.) Instead I am merely using patterns that we observe in a similar field (software development) and drawing some assumptions that based on these patterns and lack of evidence on either side, I am going with the patterns.

    This is not an absurd viewpoint as many natural laws follow patterns of other natural laws. Consider the relationship of gravity’s pull and electromagnetic attraction.

    Anyway, this subject is always going to split and divide, but I mention it here anyway, because it is a subject worth truly examining. I do recommend readers read the suggested books, I have read some of them myself, but also read some of these books.

    The Young Earth: http://www.amazon.com/Young-Earth-History-Present-Future/dp/0890514984/ref=pd_sim_b_4

    In the Beginning: http://www.amazon.com/Beginning-Compelling-Evidence-Creation-Flood/dp/1878026097/ref=pd_sim_b_1

    I am not saying this from a one sided illogical viewpoint, as I actually used to believe in evolution, and this creation science was ridiculous. I reluctantly attended some lectures on the subject, with an extreme bias against what was being taught. I challenged the instructor every step of the way, and realized that my so called “scientific knowledge” of evolution was based on very shaky ground.

    Do no assume because CNN says in a news article the earth if 5 billion years old, that it is a fact. 🙂

    • As someone who studies bioinformatics, especially as it applies to genomic information, I’m very disappointed that you accept these logically fallacious arguments for creation. Someone already brought up the point of who created the creator, but I think that you’ve ignored all the molecular evidence for the evolutionary origin of DNA.

      I think you’re also forgetting that the analogy of DNA to code is a bit tenuous to say the least. Code is completely generated by calculations and is ultimately defined by mathematical relations created by the human mind. DNA is a molecule and all of its impact on the cell and organism are determined by biochemical interaction. I hate to say it but DNA is just a molecule.

      If DNA is code, as you insist, that raises some concerning questions about information quantities. For example, corn has more genes than we do; is corn more complex than a human? How do you quantify and categorize the information of a single gene as opposed to another? Who’s to say that the genes that are responsible for brain architecture (FOXP and others) are more complex than those responsible for DNA replication? I don’t know the answer but I don’t claim that there needs to be one. Your case does.

      We don’t know everything about DNA and molecular biology at large but isn’t that the point of research. You also don’t know everything and an argument from ignorance is not an argument. Accepting your ignorance opens up your mind to the beauty of discovery.

      Also, if you seriously consider creationism science, you really haven’t looked at the evidence. Most, if not all, of their claims have been debunked and notice how creationists do not submit themselves to peer review. I would look at talkorigins.org which actually sources their claims (as they are no substitute for the actual literature).

      • I state it simply.

        DNA is code and a self replicating machine (along with the cell it exists in).
        It is interpreted code which manufactures proteins as well as replicating itself.

        The process is an exchange and expression of information.

        Information requires a creator of that information.

        Information quantities have no relation to complexity or meaning just as a compressed JPEG image of a picture could be larger in size than an entire English dictionary yet contain less information.

    • @jsonmez: Carbon-14 decays at a known rate. We should all agree on that unless one believes all scientists are lying to us (actually you can measure the decay rate of Carbon-14 to a certain degree yourself). You can then dig up some bones, or anything that was once living, and measure the level of Carbon-14 in it. From this data, you can calculate the age to a high level of certainty.

  10. As you said, both beliefs require faith; one might say, a leap of faith. But believing that the complex and interconnected universe, which has to be JUST SO to work and for us to live, is a product of chance, is a MUCH wider leap.

    Both beliefs require putting faith in miracles. But only one provides a Miracle-maker.

  11. Great point of view John, I appreciate your understanding of DNA as the ultimate code of program.
    Here are my thoughts about the issue:

    Is there such factory whose product contains the factory itself?
    Yes, an apple tree for example. The apple tree is a factory from a point of view, producing apples. An apple (a product) has many seeds, and each little seed in the apple keeps the whole tree within. You see this when you bury the seed into the soil. A new tree will be born from the very seed.

    Can such a factory exist with the sole purpose of continuing its form of life? Why the apples are for then? Why not just the seeds? Why the beauty of flowers are expedited in the spring? Why the complexity and art is at such a level that even the humans, which are the most conscious beings among all life forms, do not understand it fully? Such an art that we even love the painting of a tree, only a copy of the tree’s image.

    The apple tree points to its creator with all the beauty, complexity, and functionality it has. It shows the mercy, art, wisdom, and many manners of the Creator that I cannot fit in this little writing.

    As a single apple tree points to its creator and indicates his manners, all apple trees points to him.
    As the apple kind points to the All-Wise Creator,
    – all life forms,
    – all the matter -functionality, perfect interrelation with other parts of the universe-,
    – every atom (with its perfection, functionality, complexity within smallness)
    points to the God.

    As you know, a thin thread can be torn easily. A somewhat thicker string which is formed by collecting thin threads is harder to tear.
    A thick rope formed by strings can carry large ships.

    Like that, if everything we know in this universe points to the wisdom and the existence of the Creator, can anyone claim that s/he disproved the existence of God?
    Can anyone claim that there is no God?

    We humans are the inspectors in this universe. We must learn the manners and aspects of God and seek for the ways to please him.
    So that he meets our ultimate needs: an eternally happy and excited life with the ones we love.

    More on resurrection and the hereafter can be learned from this article:
    http://www.saidnur.com/foreign/en/risaleler/words/10th_word.htm

    Best regards,
    Abdullah

  12. John,
    You beat me to it with this article (excepting the part about your new arrival – congratulations!). I’ve been meaning to write something along these lines for a while.

    I think software developers are especially well placed to recognise the incredibly complex designs that are the basis of life and the natural conclusion that such designs require a designer.

    Evolution by random mutation has to pull off a miracle orders of magnitude more unlikely than implementing a successful refactoring in a code base by changing one random character at a time.

    I’d heartily recommend Stephen Meyer’s book Signature in the Cell (http://www.signatureinthecell.com/) to anybody wanting to investigate the design argument further.

  13. Of course, congratulations are in order on the birth of your daughter. As a recently new father myself I can understand the emotions and love that a new addition can bring.

    However, there are several problems with this post and in the resulting comments:

    Evolution isn’t simply a “theory” in the sense of the everyday use of the word (i.e. a hypothesis). It is a scientific theory, in the sense that it explains the observed data and has explanatory and predictive power:

    http://en.wikipedia.org/wiki/Scientific_theory

    You say in the comments that “I actually used to believe in evolution, and this creation science was ridiculous”. News flash, creation “science” is ridiculous. It is only viable if you contort some evidence and wilfully ignore the rest. Your choice in suggested reading material (the John Morris and Walt Brown books) is extremely poor. If the “arguments” within them had any validity whatsoever the authors would have received Nobel prizes. If you are serious about informing yourself about the state of science/biology/physics then you need to read much higher quality material (by practicing scientists on subjects that they are expert in, unlike Morris/Brown who are engineers).

    How is it that the vast majority of professional scientists (whether they are Biologists, Physicists/Cosmologists, etc, of all the religious/agnostic/atheist varieties) examine all the evidence and conclude that both the Universe and Earth are old (13.72 billion and 4.54 billion years respectively) and that all life on Earth is connected through a common ancestry? Do you think that this is some massive world-wide conspiracy of atheistic scientists that have blinkers and somehow do not understand the “arguments” by creationists? The fact is creation “arguments” are usually only persuasive to people that are ignorant of science and the evidence supporting cosmology/evolution and/or already believe in some kind of creator in the first place.

    Science is a work in progress; you rightly point out that all the details of the evolution of DNA have not been worked out yet. So what to do? Stop research and just proclaim Zeus/Jesus/[Insert your pet god/gods here] did it? This is the classic God-of-the-Gaps argument.

    As well as the excellent reading recommendation by wcoenen above for the lay person may I suggest these books?

    Why Intelligent Design Fails (Matt Young, Taner Edis):
    http://www.amazon.com/Why-Intelligent-Design-Fails-Creationism/dp/081353433X

    Scientists Confront Intelligent Design and Creationism (Andrew J. Petto, Laurie R. Godfrey):
    http://www.amazon.com/Scientists-Confront-Intelligent-Design-Creationism/dp/0393050904

    Why Evolution is True (Jerry Coyne):
    http://www.amazon.com/Why-Evolution-True-Jerry-Coyne/dp/0143116649

    Evolution: What the Fossils Say and Why it Matters (Donald R. Prothero)
    http://www.amazon.com/Evolution-What-Fossils-Say-Matters/dp/0231139624

    The excellent web resource Talk Origins has a lot of good material also:
    http://www.talkorigins.org/

    @Samuel Jack

    “I think software developers are especially well placed to recognise the incredibly complex designs that are the basis of life and the natural conclusion that such designs require a designer.”

    Unless a software developer has training in biology then there opinion on the origin/evolution of life is about as much use as that of a goat. The whole “designs need a designer argument” is nothing more than an over extended analogy and argument from ignorance.

    “Evolution by random mutation has to pull off a miracle orders of magnitude more unlikely than implementing a successful refactoring in a code base by changing one random character at a time.”

    Evolution (by natural selection) is random mutation coupled with non-random selection. The latter part of the last sentence is a crucial part. You should do yourself some justice, expand your reading material to include viewpoints that are at odds with your own and not take everything that the philosopher Stephen Meyer has to say on biology. I doubt that anything will get through your selection filter though if lost and found handbags provide you with evidence of answered prayer.

    • Debated whether or not to allow an anonymous trolling post like this, but I think this post actually represents your true opinion and I think you bring up a valid point of view that many people hold.

      A few problems I see though:

      1. You are basically throwing out my logical (although not proof-worthy) argument to instead replace it with an argument that amounts to “if all the smart scientists in the world are jumping off a bridge, then we should also.”

      2. You clearly have not read the opposite side of the material you present, because if you had, it would be very unlikely that you would be able to call either side ridiculous. Both sides have very compelling arguments, it is no doubt a tough choice to choose which to believe, but both require faith and neither viewpoint it absurd or stupid.

      3. One of the unspoken tenants of this blog is to buck against the collective group-think on various topics. One of the core things I encourage people to do is to think and examine things on their own. We should always question, why we do things and if general assumptions are indeed correct. Many times history has proven that they are not. (Do not forget that less than a century ago, rampant government endorsed racism was the norm in the US.)

      4. This coincides with point 3, but I strongly discourage any belief in our ability to predict spans of time larger than several centuries. No reasonable person could believe that we could accurately predict ages spanning millions or billions of years when we cannot even predict the temperature for a given day or whether it will rain. We don’t even know that gravity is a constant over a span of 500 years.

      • “1. You are basically throwing out my logical (although not proof-worthy) argument to instead replace it with an argument that amounts to “if all the smart scientists in the world are jumping off a bridge, then we should also.””

        Your argument basically boils down to the non sequitur:

        1. DNA is complex
        2. Scientists do not have all the details of how DNA could have evolved
        3. Therefore some eternal creator god must have designed it

        See the foolishness of this by replacing 3 with

        3a. A committee of super beings made it after a long debate on the different merits of several coding systems.
        3b. A super being is running simulations in his/her supercomputer of all the possible universes that could exist and we just happen to live in one where DNA evolved.
        3c. An alien species tinkered with biochemistry and saw it fit to sprinkle the Earth with DNA.

        As for the comment about jumping off a bridge: I am not asking you to take anything on trust/faith. I am asking you to at least think about the fact that experts in the area you are discussing have come to a broad consensus and that they are aware of the “arguments” of creationists and overwhelmingly reject them. In politics everybody’s vote counts but, in science, experts conclusions and the data/arguments/models/predictions/peer reviewed research that led them there are what matters. Read what the experts in the field have written and you will see the errors in your “logical” arguments. I find it hard to believe that you have done this.

        “2. You clearly have not read the opposite side of the material you present, because if you had, it would be very unlikely that you would be able to call either side ridiculous.”

        This made me chuckle. Sadly I have read a lot about creationism and intelligent design. There is not a day gone by for the last few years where I did not see at least one lame argument or another about evolution/cosmology from non-experts. I decided that I should at least see where they are coming from by reading their literature. Unfortunately, young earth creationism material is usually filled with misconceptions/disingenuity/flat out lies. You keep throwing the word “faith” around to describe what religion and science has in common.
        Faith is anathema to science; a conclusion is only tentatively taken if the data/evidence is not very strong. Faith in religion is that which is invoked when the evidence is lacking or flat out contradictory to an already existing dogma.

        “3. One of the unspoken tenants of this blog is to buck against the collective group-think on various topics.”

        I have no problem with contrarian views as long as they can be substantiated. But just because the majority of scientists in the area of discussion have been led to one conclusion does not mean therefore they have come to the wrong conclusion.

        “4. This coincides with point 3, but I strongly discourage any belief in our ability to predict spans of time larger than several centuries. No reasonable person could believe that we could accurately predict ages spanning millions or billions of years when we cannot even predict the temperature for a given day or whether it will rain. We don’t even know that gravity is a constant over a span of 500 years.”

        This is just flat out wrong and is littered with muddled logic. We can measure that gravity and that the laws of physics have been the same since the big bang. If you are seriously interested in science and what scientists have discovered and the data/observations that led them to their conclusions widen your reading.

  14. John, I would really be interested in how you view “the creator”. How did he/she/it come into being? If the creator was created by an even greater creator, what then? In exploring that path we just iterate over the same ground again. Or maybe the creator just come into being by some sort of spontaneous event, like the big bang… or maybe an evolutionary process. Seriously, I’d like to understand how the intelligent design theory deals with this question.

    The thing about the theory of evolution is it doesn’t need to conjure anything else into existence to explain the (so far) agreed facts about the world we live in. Everything falls into place, and there are no begged questions.

    • Good question.

      I think this will always be beyond on comprehension regardless of our position.
      Let me provide a logical argument which will end up in a illogical conclusion.

      1. All effects in the universe have a cause. There is nothing without a cause. To suspend these belief would be to throw out all scientific postulates built on it. Therefore we must accept it.

      2. Based on this fact, there must either be an eternal chain of causes or there must be a single eternal entity responsible for all effects.

      3. Based on 2. There must be something eternal. Whether it be God or the universe itself in whatever form that may be.

      Based on logic, I would have to conclude that either the universe is eternal and has always exists and will aways exist or God is eternal having those same attributes. I don’t think using logic we can escape either one of those conclusions and the concept of something being eternal is a strange loop indeed. It is completely illogical we cannot understand it.

      It also follows along this line of reasoning that the only difference between the two views is whether this eternal entity is self-conscious or self-aware. One could even argue that God is the universe and the universe is God, and ask the question of whether or not the creation was purposeful. When you ask the question that way, evidence points to purpose (from our extremely limited viewpoint and sampling of time.)

      There is one other alternative, but it is beyond comprehension. I have often considered that logic itself is something that is unique to humanity, or at least an attribute which we operate in. If we consider that there is a possibility of existence without logic suddenly huge possibilities open. Perhaps even to consider that there is a greater knowledge than logic, one that we cannot perceive.

      • I’ll happily agree that God is eternal, and lies beyond time and space, but that in no way explains intelligent design, and in no way disproves the scientific theory of evolution. Presence of God does not mean absence of evolution, the two concepts (realities) can co-exist. I’ll take evolution in all its gloriously random emergent complexity over intelligent design any day. The former speaks far louder of the glory of God.

  15. @Tobias

    Agreed. Take a look at some of the literature on literal 7 day creation though. There are some theories that rival evolution and don’t require punctuated equilibrium. I was 100% convinced of evolution, till I did the research, now I am about 90% literal 7 day creation and 10% evolution.

  16. […] you haven’t been following, it has been a while since my last post on this topic.  I had a bit of distraction the last few weeks, but I am back and ready to […]

  17. Brilliant. Praise God. The ultimate programmer.

    • I respomnded to this comment on my own blog. Please see ‘God is an Agilist’ http://bit.ly/Av6AMQ


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: