TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Code evolution vs Intelligent design

28 pointsby marakasover 13 years ago

4 comments

RyanMcGrealover 13 years ago
Every time I try to do this, I end up having to rip it all up anyway when the requirements change. As John Gall famously said:<p>"A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work."<p>Over the years, I've gotten much better at writing components in such a way that I don't end up painting myself into a corner and can easily add/modify functionality later.
评论 #3377776 未加载
adrianmsmithover 13 years ago
"To implement the next step you are going to have to go back and dig up all that perfect code you have just finished writing..."<p>"This sounds nice, but nothing has really changed - we have just shifted the problem from the coding to the design stage."<p>Things have indeed changed.<p>- If I spend 4 hours designing something and then have to throw it away due to realizing the next piece of functionality doesn't fit in with the design, then I have to throw away 4 hours work.<p>- If I spend 2 weeks programming something, and the then have to throw it away due to realizing the next piece of functionality doesn't fit in with it, then I have wasted 2 weeks.
评论 #3377568 未加载
评论 #3377546 未加载
ufoover 13 years ago
There is experimental evidence that computer programs are insteligently designed, as opposed to real lifeforms:<p><a href="http://blogs.discovermagazine.com/loom/2010/05/03/linux-versus-e-coli/" rel="nofollow">http://blogs.discovermagazine.com/loom/2010/05/03/linux-vers...</a>
评论 #3377307 未加载
billswiftover 13 years ago
All <i>systems</i> evolve, if they can change at all. Systems with intelligent actors (software, language, economics, etc) involve more factors than biological evolution does. Biological evolution is mainly through variation and selection. Intelligent evolution <i>also</i> involves borrowing (acquisition) from outside the "genome", planning of future changes, analogical reasoning between "lineages", and other means of generating and fixing variations.