Genetic Programming (GP) is one of the evolutionary computation (EC) methods followed with great interest by many researchers. When GP first appeared, it has become a popular computational intelligence method because of its successful applications and its potentials to find effective solutions for difficult practical problems of many different disciplines. With the use of GP in a wide variety of areas, numerous variants of GP methods have emerged to provide more effective solutions for computation problems of diverse application fields. Therefore, GP has a very rich literature that is progressively growing. Many GP software tools developed along with process of GP algorithms. There is a need for an inclusive survey of GP literature from the beginning to today of GP in order to reveal the role of GP in the computational intelligence field. This survey study aims to provide an overview of the growing GP literature in a systematic way. The researchers, who need to implement GP methods, can gain insight of potentials in GP methods, their essential drawbacks and prevalent superiorities. Accordingly, taxonomy of GP methods is given by a systematic review of popular GP methods. In this manner, GP methods are analyzed according to two main categories, which consider the discrepancies in their program (chromosome) representation styles and their methodologies. Besides, GP applications in diverse problems are summarized. This literature survey is especially useful for new researchers to gain the required broad perspective before implementing a GP method in their problems.