Computers can empower mathematicians to envision and to prove theorems beyond natural limitations. At the same time, computers can facilitate misdirection and error on a grand scale. Working on software development is, in effect, engaging in an interesting genre of mathematical thinking. Since we are in an age where significant progress has been achieved on both practical and intellectual level...