On SourceCodeAndModeling, DanRawsthorne said:
One can make a good mathematical argument that the code can't be sufficient to describe the system - it is called Goedel's theorem. Basically, no system can explain itself, you must step outside the system for explanation.
Goedel (better: Go-with-the-dot-thingies-del) did not prove anything of the kind. He proved that for a consistent and sufficiently rich mathematical theory, there is a sentence G such that neither G nor its negation is a theorem of that theory. So the sentence is undecidable within that theory.
He also proved that the fact that such a theory is consistent cannot be proved within that theory.
See for more details the excellent pages by TorkelFranzen at http://www.sm.luth.se/~torkel/eget/godel.html.
It is beyond me how Goedels theorems imply that the code can't be sufficient to describe the system. We would need a mathematical definition for this phrase first.
OK, I'll give it a try. The coding language is the consistent and sufficiently rich mathematical theory (sufficiently rich just means that arithmetic is in there...). Then the System (the way people interact with the code) is outside the code itself. Therefore, the code is not sufficient to understand how the system should be used. In fact, Turing proved this 50 years ago in a much more rigorous way, I believe.