An application program is a program that actually accomplishes some useful or interesting task. Examples include inventory control, payroll, and game programs. Data are the pieces of information that are operated on by programs. Source code is a program in a form suitable for reading and writing by a human being. Object code is a program in a form suitable for incorporation into an executable program.
Compilation is the process of translating source code into object code.
Almost all of the software on your computer was created by this process. A compiler is a program that performs compilation as defined above. Now you have a definition of programming. Unfortunately, however, this doesn't tell you how to write a program. After discussions between the user and the programmer, the programmer defines the problem precisely.