God’s Irreducible Complexity Debunked Using… Computer Science?
Tags: atheism, javascript, philosophy, programming
Published: 2019-12-05 17:18:56

---
title: God’s Irreducible Complexity Debunked Using… Computer Science?
published: true
date: 2019-12-05 17:16:06 UTC
tags: atheism,Javascript,philosophy,Programming
canonical_url: https://qvault.io/2019/12/05/gods-irreducible-complexity-debunked-using-computer-science/?utm_source=rss&utm_medium=rss&utm_campaign=gods-irreducible-complexity-debunked-using-computer-science
---

![](https://qvault.io/wp-content/uploads/2019/12/photo-1497796742626-fe30f204ec54-1024x683.jpeg)

Many creationists and theists invoke the argument of irreducible complexity in an attempt to discount the theory of evolution. So… what is irreducible complexity?

> **Irreducible complexity** ( **IC** ) involves the idea that certain [biological systems](https://en.wikipedia.org/wiki/Biological_system) cannot [evolve](https://en.wikipedia.org/wiki/Evolution) by successive small modifications to pre-existing functional systems through [natural selection](https://en.wikipedia.org/wiki/Natural_selection). 
> 
> <cite><a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Irreducible_complexity" target="_blank">https://en.wikipedia.org/wiki/Irreducible_complexity</a></cite>

According to the argument of irreducible complexity, we couldn’t have evolved slowly from single-celled organisms over time, we must have had a designer! It is a naive argument made by those who don’t have a suitable understanding of the theory of evolution, or even worse, those who choose to work backward from a predetermined conclusion based on faith.

### Infinite Recursion

Many have made the point I’m going to make, that is, the [problem of the creator of god](https://en.wikipedia.org/wiki/Problem_of_the_creator_of_God), but I want to demonstrate it in a way that mathematicians and programmers can easily relate to. Take a gander at the following Javascript class:

```
class Being {
    constructor(creator, alive) {
        this.creator = creator;
        this.alive = alive;
    }
    // complex beings must be alive and have a creator
    isComplex(){
        return this.alive && this.getCreator() !== null;
    }
    getCreator(){
        if (!this.creator.isComplex()){
            throw "universe blows up, creator isn't a complex being"
        }
        return this.creator
    }
}
```

Let’s review the code in English. We define a “complex being” as a being that must be alive and have a complex being as its creator. This is a simplistic definition, but sufficient for any debate regarding creationism.

In order to create an instance of a complex being (via the constructor), we must provide a complex being to serve as the creator. In order to create that complex creator, we must provide that creator’s constructor with another creator. This infinitely recursive problem demonstrates the problem:

*If we are too complex to have evolved via natural processes, then our creator is too. Our creator's creator must also have had a creator, ad infinitum.*

If you have any questions/criticisms feel free to tweet at me!

Lane on Twitter: [@wagslane](https://twitter.com/wagslane)

Lane on Dev.to: [wagslane](https://dev.to/wagslane)

Lane on Medium: [@wagslane](https://medium.com/@wagslane)

Download Qvault: [https://qvault.io](https://qvault.io/)

Star our Github: [https://github.com/q-vault/qvault](https://github.com/q-vault/qvault)

The post [God’s Irreducible Complexity Debunked Using… Computer Science?](https://qvault.io/2019/12/05/gods-irreducible-complexity-debunked-using-computer-science/) appeared first on [Qvault](https://qvault.io).