Thus, if you want to know what a program is meant to do and how it has to be executed, you should refer to the program documentation. The most common examples would be the instruction manuals for a software product, which is given to the end-user. Thus the instruction manual for a programming language like Java or for understanding a word processor can come under the purview of program documentation. The description languages used are informal and are intended to make life easy for the end-user.
There is also another kind of program documentation that is written for the sake of programmers who write the actual software and may have to modify it or use it as a part of another program which they write in the future. While the end-user documentation has a user-friendly language about the software, the program documentation describes things in a language which can befit the programmer.