What is 'Programming'?
By simplest definition, computer programmers
write computer code; that is, they write the detailed
instructions (programs) that tell the computer what to
do to perform a certain function. Programmers write
programs according to the specifications determined
by Systems Analysts. Most programmers go through a
similar process.
Design: Gathering analysis of the requirements for
the system may include a detailed study of business
needs of the organisation. Design focuses on high
level design (what programs are needed and how they
interact); low-level design (how each program is going
to work); interface design (what are the interfaces
going to look like), and data design (what data will
be required). Any glitch in the design phase could
be expensive to solve in the later stage of software
development.
Coding: After the design process is complete, it is
the job of the programmer to convert that design into
step-by-step instructions according to the particular
programming language in use. Coding is a precise
process; even small errors in coding (bugs) can create
big problems when the program is compiled and run.
Compiling: In the case of most computer languages,
before the program can be run, it must be compiled.
A compiler is the computer program that converts
high-level code (such as C# or Java) into code the
computer can use (binary). If the code contains errors,
the program will fail to compile and the compiler will
produce an error report notifying the programmer
where the errors occur in the program.
Debugging: The programmer must find and correct
all the errors in the code so that the program can be
compiled and run.
Testing: Once the program is sufficiently error-free
to compile, the programmer can then run the program
with test data. Through this process, the programmer
will find other errors to correct.
Maintenance: Even after a program is clean enough
to release to the public, bugs and other problems can
crop up. Programmers fix these problems throughout
the life of the program, often resulting in updated
releases of the program to registered users.
Specialist Programmers
- Application programmers design and program
computer applications such as word processing systems,
accounts management systems and database systems.
- Systems programmers (sometimes called software
engineers), develop programs that control the operations
of centralised computer networks; software engineers
design and manage large software systems.
- Communications programmers ensure that the several
components of a computer system, which may be spread
over various locations, complete their functions in a
coordinated manner.
Computer programmers often work in
teams under the supervision of a team
leader, who may be a Senior Analyst/
Programmer or a Systems Analyst. |