Computing is usually defined as the activity of using and improving
computer technology, computer hardware and software. It is the
computer-specific part of information technology. Computer science (or
computing science) is the study and the science of the theoretical
foundations of information and computation and their implementation and
application in computer systems.
A computer is a machine that
manipulates data according to a set of instructions called a computer
program. The program has an executable form that the computer can use
directly to execute the instructions. The same program in its
human-readable source code form, enables a programmer to study and
develop the algorithm. Because the instructions can be carried out in
different types of computers, a single set of source instructions
converts to machine instructions according to the central processing
unit type.
The execution process carries out the instructions in a
computer program. Instructions express the computations performed by
the computer. They trigger sequences of simple actions on the executing
machine. Those actions produce effects according to the semantics of the
instructions.
Computer programming in general is the process of
writing, testing, debugging, and maintaining the source code and
documentation of computer programs. This source code is written in a
programming language, which is an artificial language, restrictive,
demanding, and unforgiving to humans but easily translated by the
computer. The purpose of programming is to invoke the desired behaviour
(customization) from the machine. The process of writing high quality
source code requires knowledge of both the application's domain and the
computer science domain. The highest quality software is thus developed
by a team of various domain experts, each person a specialist in some
area of development. But the term programmer may apply to a range of
program quality, from hacker to open source contributor to professional.
And a single programmer could do most or all of the computer
programming needed to generate the proof of concept to launch a new
"killer" application.