Genetics

From APIDesign

Revision as of 12:03, 22 June 2021 by JaroslavTulach (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

The Genetics of APIDesign is an interesting topic that recently came up when I was trying to use the Evolution vs. Intelligent design argument among my colleagues. It is a paradox of APIDesign - if you are a regular software architect you can act as an Intelligent designer and many successfully do. You have the vision and you may strive for it.

However, when you are an API designer, you'd rather worship evolution - your goal is to create a system that others use to do something intelligent, but you, as the API architect, don't set the ultimate goal. You rather create a system that blossoms with evolution rather than prescribing what shall be the ultimate goal.

Copying Genes vs. Species

The puzzle to gain more understanding to the difference between API and implementation is: The core concept of evolution is pretty much copy an existing thing with only minor modifications!

In order to practice evolution the nature allows copying, mixing and even random errors when producing new instances of the creatures. Then the creatures can compete to become the best survivors and produce new copies of themselves. However that only works if the modifications are minor! If you triplicate human 21st chromosome you get people affected by Down syndrom which isn't lethal, but significantly shortens the expected lifetime and decreases/if not disables the ability to reproduce.

Personal tools
buy