I got talking to a colleague from work about the philosophical issues of morality and surveillance (does being surveilled make people more moral?) and we ended up discussing the moral and societal framework of the Garden of Eden, as described in the book of Genesis, in the Old Testament of the Bible. He made an interesting point that, being unaware of the existence or nature of evil, Adam and Eve may not have been best equipped to determine whether a statement was a lie, or even know to ask themselves the question of whether something was a lie or not, being unfamiliar with such things. As programmers, one natural way to express ourselves clearly on such important theological questions was to write some software, and sure enough my colleague wrote a PHP implementation of the Human class, and pointed out the inherent flaw in the design, which was, he claimed, an imperfection in the system that Genesis describes. I was not so convinced that he had implemented the Genesis specification correctly, however, which perhaps shows that Intelligent Design should be left up to God (and even God might want to implement it via an evolutionary algorithm instead), but I decided to give it a go myself, confident that, whatever language God used, I would stand a better chance using Java than I would PHP.
Continue reading "Implementing Genesis in Java"