Computer programming, or software engineering, is the process of developing software to run on computer hardware. Programming is an important part of computing science because without software, hardware cannot be used, and without well written software hardware can not be used effectively. The popularity of programming and the need for skilled computer programmers is closely tied to developments in hardware, for example, smart phones, tablets and other computing devices require software to be written that exploits the hardware to its full potential.
It is generally agreed that many of the most important technologies in the late 20th would have been impossible without the assistance of computers and computer software, e.g. mobile phones and wireless communication.
Computers are essential in the modern world as are computer programs. Developing software to meet the requirements of modern life is a notoriously complex problem, very much prone to errors and other setbacks. In many instances, software doesn’t do what it should do; is extremely difficult to change; has errors in it and is usually delivered late.
Since software development is now a collective development, it is important to use a disciplined approach to the development – this has given rise to what is known as Software Engineering.
Like other skills and skill sets within the computing discipline, software engineering has its own terminology. The concept and use of variables in programming is one example of this terminology.