Understanding the concept of a program is very easy. We all do little bit of programming. Even taking the public transport at a certain time at a certain place so as to keep an appointment requires an element of programming. As the actions get more complex, so do the program steps. A computer program is a list of step by step instructions, provided with a logic so that it may extrapolate steps by itself, which enable the computer to solve a specific problem.
The computer program is more specific than, say, a program for a human being, as the computer is unable to make subjective and qualitative judgments. With computer becoming an omnipotent and omnipresent tool, our reliance on computers is increasing. It is programming only that provides the interface through which the hardware is made to work.
There are various types of programs. Programming is done for Office programs, operating systems, desktop publishing packages, for customer relationship management interfaces, for enterprise resource planning, for supply chain management, and for a thousand other uses. Each type of programming calls for different core competencies. With dozens of companies developing programs on every area of computing, the competition to create the better program is urgent and real.