Every general-purpose computer has a various detailed design, which defines that the way its program requires to be specified is different. The "machine language programs" for defining computer programs, at the last primitive level, are awkward for programmers. We have prepared several computer programming languages for specifying a computation. These languages are changed into instructions in the computer 's language which is called machine language. One of the simplest and most powerful point about general-purpose computers is this ability to write computer programs that operate or build or change other computer programs.
Computer programming languages are PCAP machines. They give primitive operations, ways of combining these programs, ways of abstracting over them, and different ways of collecting common abstraction patterns.
In a computer program we have both computation primitives and data primitives. At the most basic level, computers usually store binary digits (bits) in groups of 32 or 64, named words. These words are data primitives, and they may be interpreted by our programs as presenting integers, floating-point values, addresses or strings of other data in the computer 's physical memory. The calculation primitives supported by most computers include numerical operations such as multiplication and addition, and placing and extracting the information of a memory at a given address. We will work at abstraction level that does not need us to think very much about addresses of data.