The best treatment I've seen of the relationship of DNA and code is Darwin's Dangerous Idea by Daniel Dennett.
One particularly interesting observation is that the popular conception of DNA as a kind of blueprint is completely wrong. It's machine code. Like all machine code, it only makes sense in the context of the processor it was created for. In the case of living things, the processor consists of some very complicated biochemical machinery. If somewanted to write a disassembler for human DNA, they'd have to have knowledge of the genetic processor's system architecture and instruction set far beyond what science knows today.
There's a lot more Dennett has to say on the subject. A very good read.