Tag Archives: Functional Requirement

A practical method for understanding intelligent design in two weeks

ECM sent me this awesome post from Uncommon Descent. The post explains how someone who doesn’t want to read about intelligent design can learn what intelligent design by doing. That’s right – you can learn about intelligent design by practicing intelligent design.


Of course a good example of design would be engineering in all its specialties. Unfortunately almost all fields of engineering are inaccessible to laymen for many reasons. But the good news is that there is a field that is theorically and practically available (at least at a basic level) to almost all people (or at least to scientific-minded people as most ID deniers are): computer science. Our suggested patent-pending method to become IDer is based on computer programming. Developing programs gives ID refuters a lot of advantages to learn ID.

(1) Computer programming is an activity where, differently from literature, philosophy, journalism and so on, a severe control overarches all the design cycle. In programming errors matter, also the minor ones are never condoned. This is good discipline for the student, to be always forced to correct his errors. If you write a book filled with errors, no worry, it will be published the same. If you write a program with one error nothing works. This is the difference between storytelling and programming. Usually there are at least two kinds of control or filter: at compilation time and at run-time. Any program works only if it passes the two filters.

[…](2) Computer programs don’t arise by unguided evolution. They entail CSI and only intelligence can create CSI. Whether software were generable by mean of randomness and machines, software houses wouldn’t need to pay legions of expensive programmers. When you are programming you see directly your intelligence at work. Eventually other programmers can help you but no other unintelligent thing can do the job for you.

(3) To develop programs is a good exercise to learn CSI, IC, nested functional hierarchies, sub-functions, structures, dependences among parts, meta-information, libraries, etc.

Intelligent design is nothing more than sequencing a large number of parts into a chain that has function. That’s it – that’s all it is. God is a software engineer. And if you’re interested in seeing some of the published research done by ID theorists, check out this list of their publications in scientific, peer-reviewed research journals. (H/T Truthbomb Apologetics)

There is only one problem with the post at UD, though. They recomment Perl and PHP for the exercise. Perl and PHP are crappy languages for any program longer than 100 lines that needs to be maintained longer than 2 months, or maintained by another developer who did not write it. The readability and maintainability of Perl and PHP are atrocious. Stick with languages like Java, Smalltalk or C#.

Other arguments for a Creator and Designer

To learn more about arguments for a Creator and Designer, check out some of my favorites below, taken from the big list of arguments and counter-arguments: