Depends. There's a pretty good theory on building compilers, for instance.
One interesting observation made in the post, on the other hand, is that the source code of a program does not necessary contain the idea(s) behind the program or even its intent. I can attest to that - it is indeed often the case that people who are involved in writing or updating a program's code may have different levels of the (mis)understanding of the code itself and, sure enough, of the "theory" behind it. (Unit tests reflect this situation.)