| It is software
(i.e., the instructions you write to perform actions and make decisions)
that controls computers (often referred to as hardware).
|
| ANSI
C is the version of the C Programming language standardized
in 1989 in both the United States through the American National Standards
Institute (ANSI), and around the world through the International Standards
Organization (ISO).
|
| Computers that might have filled large rooms and cost millions of dollars
25 years ago can now be inscribed
on the surfaces of silicon
chips smaller that a fingernail, and that cost perhaps a few
dollars each.
|
| Approximately 150 million general-purpose computers are in use
worldwide helping people in business, industry, government,
and in their personal lives. That number could easily double in a few years.
|
| A computer is a device capable of performing
computations and making logical decisions at speeds millions,
and even billions, of times faster than human beings can.
|
| Computers process data under the control of computer
programs.
|
| The various devices (such as the keyboard, screen, disks, memory, and processing
units) that comprise a computer system are referred to as hardware.
|
|
The computer programs that run on a computer are referred to as software.
|
|
The input unit
is the "receiving" section of the computer. Most information is entered
into computers today through typewriter-like keyboards.
|
|
The output unit
is the "shipping" section of the computer. Most information is output from
computers today by displaying it on the screen or by printing it on paper.
|
|
Thememory unit
is the "warehouse" section of the computer, and is often called either
memory or primary memory.
|
|
The arithmetic and logic unit (ALU)
performs calculations and makes decisions.
|
|
The Central Processing Unit (CPU)
is the computer's coordinator and is responsible for supervising the operation
of the other sections.
|
|
Programs or data not actively being used by the other units are normally
placed on secondary
storage devices (such as disks) until they are again needed.
|
|
In single-user
batch processing, the computer runs a single program at a time
while processing data in groups or batches.
|
| Multiprogramming
involves the "simultaneous" operation of many jobs on the computer--the
computer shares its resources among many jobs.
|
| Timesharing
is a special case of multiprogramming in which users access the computer
through terminals. The users appear to be running simultaneously.
|
|
With distributed
computing, an organization's computing is distributed via networking
to the sites at which the real work of the organization is performed.
|
|
File servers store programs and data that may be shared by client computers
distributed throughout the network, hence the termclient/server
computing.
|
|
Any computer can directly understand only its own machine
language.
|
|
Machine languages generally consist of strings of numbers (ultimately reduced
to 1s and 0s) that instruct computers to perform their most elementary
operations one at a time. Machine languages are machine-dependent. |
|
English-like abbreviations form the basis of assembly
languages. Assemblers translate assembly language programs into
machine language.
|
|
Compilers
translate high-level language programs into machine language.High-level
languages contain English words and conventional mathematical
notations.
|
|
C is known as the development language of theUNIX
operating system.
|
|
It is possible to write programs in C that
are portable to most computers.
|
|
The ANSI C
standard was approved in 1989.
|
|
FORTRAN
(FORmula
TRANslator) is used for mathematical applications.
|
|
COBOL
(Common Business Oriented Language) is used primarily for commercial applications
that require precise and efficient manipulation of large amounts of data.
|
|
Structured
programming is a disciplined approach to writing programs that
are clear, demonstrably correct, and easy to modify.
|
|
Pascal
was designed for teaching structured programming in academic environments.
|
|
Ada
was developed under the sponsorship of the United States Department of
Defense (DOD) using Pascal as a base.
|
|
Ada multitasking allows
programmers to specify parallel activities.
|
|
All C systems
consist of three parts: the environment,
the
language, and the standard
libraries.
|
|
Library functions
are not part of the C language itself; these functions perform operations
such as input/output and mathematical calculations.
|
|
C programs typically go through six
phases to be executed: edit, preprocess,
compile, link, load, and execute.
|
|
The programmer types a program with an editor,
and makes corrections if necessary.
|
|
The C preprocessor
obeys preprocessor directives which typically indicate that other files
are to be included in the file to be compiled, and special symbols are
to be replaced with program text.
|
|
A compiler
translates a C program into machine language code (or object code).
|
|
A linker links
the object code with the code for missing functions to produce an executable
image (with no missing pieces).
|
|
A loader takes
an executable image from disk and transfers it to memory.
|
|
A computer, under the control of the CPU, executes
a program one instruction at a time.
|
|
Certain C functions (such as scanf) take their input from stdin
(the standard input device) which is normally assigned to the keyboard.
|
|
Data is output to stdout
(the standard output device) which is normally the computer screen.
|
|
There is also a standard error device referred to asstderr.
The stderr device (normally the screen) is used fordisplaying error messages.
|
|
Although it is possible to write portable programs, there are many problems
between different C implementations and different computers that can make portability
difficult
to achieve.
|
|
Concurrent
C is a C superset that includes capabilities for specifying
that multiple activities can be performed in parallel.
|
|
C++
provides capabilities to do object-oriented programming.
|
|
Objects
are essentially reusable software components that model items in the real
world.
|
|
It is widely believed that C++ will become the dominantsystems
implementation language in the mid-to-late 1990s.
|