Skip to content

Instantly share code, notes, and snippets.

@pchiusano
Created November 25, 2013 16:15
Show Gist options
  • Save pchiusano/7643883 to your computer and use it in GitHub Desktop.
Save pchiusano/7643883 to your computer and use it in GitHub Desktop.
Our current software tech needs to be scrapped and rebuilt from the ground up, not 'improved'. Dawkins is talking about biological evolution, but the same argument applies to tech evolution.

From The Selfish Gene, pg 260:

The complicated organs of an advanced animal like a human or a woodlouse have evolved by gradual degrees from the simpler organs of ancestors. But the ancestral organs did not literally change themselves into the descendant organs, like swords being beaten into ploughshares. Not only did they not. The point I want to make is that in most cases they could not. There is only a limited amount of change that can be achieved by direct transformation in the 'swords to ploughshares' manner. Really radical change can be achieved only by going 'back to the drawing board', throwing away the previous design and starting afresh. When engineers go back to the the drawing board and create a new design, they do not necessarily throw away the ideas from the old design. But they don't literally try to deform the old physical object into the new one. The old object is too weighed down with the clutter of history. Maybe you can beat a sword into a ploughshare, but try 'beating' a propeller engine into a jet engine! You can't do it. You have to discard the propeller engine and go back to the drawing board.

Software is certainly a lot more malleable than most technological artifacts, but ultimately the same argument applies.

@FranklinChen
Copy link

The cool thing about software is that in principle it is not physical and therefore the costs of changing it should not be as high as changing physical objects. Unless you build software using the metaphor of physical objects, in which case you the same kinds of costs apply.

@pchiusano
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment