Self replicating nano computers are still considered to be the stuff of the future but a fact that's often overlooked is that we already have them. The kicker is we didn't invent them, they just sort of happened by accident. Or else god made them. Either way, we're fast learning how to program the little buggers
http://singularityhub.com/2014/01/27/dna-origami-to-nanomachines-building-tiny-robots-for-the-body-and-beyond/ (http://singularityhub.com/2014/01/27/dna-origami-to-nanomachines-building-tiny-robots-for-the-body-and-beyond/)