To program a computer is to convert the computer from a generic processing machine into one which is suited to a particular processing task. Initially, this began as the connection of the separate memory and processing units with cables. Later, this was replaced with symbolic programs, starting with punch cards. Today, the common practise is to create a program in a high level computer language, using a text editor of some kind, and then convert this into binary machine language using special programs called compilers, or translators. Everything on a computer got there through the work of programmers (at least, once the computer engineers had finished with their work).

Programming has grown into a massive industry, owing to the power of computers to produce valuable new data, either by analyzing existing raw data, or as tools for users to create new data from scratch. Whereas once, programs were written for very specific tasks, they are now produced for more general tasks. Games (see ComputerGame), interestingly, are a bit of an exception to this. Most game software is custom written for one game. Some games are a bit less specific, and utilize what are termed "engines", which then work with media and a sort of game plan to produce the game. Use of engines enables modification by technically inclined users, some of whom might be programmers in their own right.