Generally, a computer is any device that can perform
numerical calculations—even an adding machine, an abacus, or a slide rule.
Currently, however, the term usually refers to an electronic device that can
perform automatically a series of tasks according to a precise set of
instructions. The set of instructions is called a program, and the tasks may
include making arithmetic calculations, storing, retrieving, and processing
data, controlling another device, or interacting with a person to perform a
business function or to play a video game.
Today's computers are marvels of miniaturization.
Computations that once required machines that weighed 30 tons and occupied
warehouse-size rooms can now be done by computers that weigh less than five ounces
(140 grams) and can fit in a suit pocket or a purse. The “brains” of today's
computers are integrated circuits (ICs), sometimes called microchips, or simply
chips. These tiny silicon wafers can each contain hundreds of millions of
microscopic electronic components and are designed for many specific
operations. Some chips make up a computer's central processing unit (CPU),
which controls the computer's overall operation; some are math coprocessors
that can perform millions of mathematical operations per second; and others are
memory chips that can each store billions of characters of information at one
time.
In 1953 there were only about 100 computers in use in the
entire world. Today billions of computers form the core of electronic products,
and programmable computers are being used in homes, schools, businesses,
government offices, and universities for almost every conceivable purpose.
Computers come in many sizes and shapes. Special-purpose,
or dedicated, computers are designed to perform specific tasks. Their
operations are limited to the programs built into their microchips. These
computers are the basis for electronic calculators and can be found in
thousands of other electronic products, including digital watches (controlling
timing, alarms, and displays), cameras (monitoring shutter speeds and aperture
settings), and automobiles (controlling fuel injection, heating, and
air-conditioning and monitoring hundreds of electronic sensors).
General-purpose computers, such as personal computers and
business computers, are much more versatile because they can accept new
programs. Each new program enables the same computer to perform a different set
of tasks. For example, one program instructs the computer to be a word
processor, another instructs it to manage inventories, and yet another
transforms it into a video game.
Although some general-purpose computers are as small as
pocket radios, the smallest computers generally recognized are called
subnotebooks. These usually consist of a CPU, electromechanical or solid-state
storage and memory, a liquid-crystal display (LCD), and a substantial
keyboard—all housed in a single unit about the size of an encyclopaedia volume.
Modern desktop personal computers (PCs) are many times
more powerful than the huge, million-dollar business computers of the 1960s and
1970s. Today's PCs can perform several billion operations per second. These
computers are used not only for household management and personal
entertainment, but also for most of the automated tasks required by small
businesses, including word processing, generating mailing lists, tracking
inventory, and calculating accounting information. The fastest desktop
computers are called workstations, and they are generally used for scientific,
engineering, or advanced business applications.
Servers are fast computers that have greater
data-processing capabilities than most PCs and workstations and can be used
simultaneously by many people. Often several PCs and workstations are connected
to a server via a local area network (LAN). The server controls resources that
are shared by the people working at the PCs and workstations. An example of a
shared resource is a large collection of information called a database.
Mainframes are large, extremely fast, multiuser computers
that often contain complex arrays of processors, each designed to perform a
specific function. Because they can handle huge databases, simultaneously
accommodate scores of users, and perform complex mathematical operations, they
have been the mainstay of industry, research, and university computing centers.
The speed and power of supercomputers, the fastest class
of computer, are almost beyond human comprehension, and their capabilities are
continually being improved. The fastest of these machines can perform many
trillions of operations per second on some type of calculations and can do the
work of thousands of PCs. Supercomputers attain these speeds through the use of
several advanced engineering techniques. For example, critical circuitry is
supercooled to a temperature of nearly absolute zero so that electrons can move
at the speed of light, and many processing units are linked in such a way that
they can all work on a single problem simultaneously. Because these computers
can cost billions of dollars—and because they can be large enough to cover the
size of two basketball courts—they are used primarily by government agencies
and large research centers.
Computer development is rapidly progressing at both the
high and the low ends of the computing spectrum. On the high end, scientists
employ a technology called parallel processing, in which a problem is broken
down into smaller subproblems that are then distributed among the numerous
computers that are networked together. For example, millions of people have
contributed time on their computers to help analyze signals from outer space in
the search for extraterrestrial intelligence (SETI) program. At the other end
of the spectrum, computer companies have developed small, handheld personal
digital assistants (PDAs). Palm-size PDAs typically let people use a pen to
input handwritten information through a touch-sensitive screen, play MP3 music
files and games, and connect to the Internet through wireless Internet service
providers. Researchers are currently developing microchips called digital
signal processors (DSPs) to enable computers to recognize and interpret human
speech. This development promises to lead to a revolution in the way humans
communicate and transfer information.
Computers at Work—Applications
Modern computers have a myriad of applications in fields
ranging from the arts to the sciences and from personal finance to enhanced
communications. The use of supercomputers has been well established in research
and government.
Communication
Computers make all modern communications possible. They
operate telephone switching systems, coordinate satellite launches and
operations, help generate special effects for movies, and control the equipment
in television and radio broadcasts. Local area networks link the computers in
separate departments of businesses or universities, and the Internet links
computers all over the world. Journalists and writers use word processors to
write articles and books, which they then submit electronically to publishers.
The data may later be sent directly to computer-controlled typesetters.
Science and Research
Scientists and researchers use computers in many ways to
collect, store, manipulate, and analyze data. Running simulations is one of the
most important applications. Data representing a real-life system is entered
into the computer, and the computer manipulates the data in order to show how
the natural system is likely to behave under a variety of conditions. In this
way scientists can test new theories and designs or can examine a problem that
does not lend itself to direct experimentation. Computer-aided design (CAD)
programs enable engineers and architects to design three-dimensional models on
a computer screen. Chemists may use computer simulations to design and test
molecular models of new drugs. Some simulation programs can generate models of
weather conditions to help meteorologists make predictions. Flight simulators
are valuable training tools for pilots.
Industry
Computers have opened a new era in manufacturing and consumer-product
development. In factories, computer-assisted manufacturing (CAM) programs help
people plan complex production schedules, keep track of inventories and
accounts, run automated assembly lines, and control robots. Dedicated computers
are routinely used in thousands of products ranging from calculators to
airplanes.
Government
Government agencies are the largest users of mainframes
and supercomputers. Computers are essential for compiling census data, handling
tax records, maintaining criminal records, and other administrative tasks.
Governments also use supercomputers for weather research, interpreting
satellite data, weapons development, and cryptography.
Education
Computers have proved to be valuable educational tools.
Computer-assisted instruction (CAI) uses computerized lessons that range from
simple drills and practice sessions to complex interactive tutorials. These
programs have become essential teaching tools in medical schools and military
training centers, where the topics are complex and the cost of human teachers
is extremely high. Educational aids, such as encyclopedias and other reference
works, are available to PC users—either on compact or digital video discs or
through the Internet.
Arts and Entertainment
Video
games are one of the most popular PC applications. The
constantly improving graphics and sound capabilities of PCs have made them
popular tools for artists and musicians. PCs can display millions of colors,
produce images far clearer than those of a television set, and connect to
various musical instruments and synthesizers.
Painting and drawing programs enable artists to create
realistic images and animated displays much more easily than they could with
more traditional tools. “Morphing” programs allow photographers and filmmakers
to transform photographic images into any size and shape they can imagine.
Supercomputers can insert lifelike animated images into frames of a film so
seamlessly that moviegoers cannot distinguish real actors from
computer-generated images. Musicians can use computers to create multiple-voice
compositions and to play back music with hundreds of variations. Speech
processors allow a computer to simulate talking and singing. The art and
entertainment industries have become such important users of computers that
they are replacing the military as the driving force of the advancement of
computer technology.
Types of Computers
There are two fundamentally different types of
computers—analog and digital. (Hybrid computers combine elements of both
types.) Analog computers solve problems by using continuously changing data
(such as temperature, pressure, or voltage) rather than by manipulating
discrete binary digits (1s and 0s) as a digital computer does. In current
usage, the term computer usually refers to digital computers. Digital computers
are generally more effective than analog computers for three principal reasons:
they are not as susceptible to signal interference; they can convey data with
more precision; and their coded binary data are easier to store and transfer
than are analog signals.
Analog Computers
Analog computers work by translating data from constantly
changing physical conditions into corresponding mechanical or electrical
quantities. They offer continuous solutions to the problems on which they are
operating. For example, an automobile speedometer is a mechanical analog
computer that measures the rotations per minute of the drive shaft and
translates that measurement into a display of miles or kilometers per hour.
Electronic analog computers in chemical plants monitor temperatures, pressures,
and flow rates. They send corresponding voltages to various control devices,
which, in turn, adjust the chemical processing conditions to their proper
levels. Although digital computers have become fast enough to replace most
analog computers, analog computers are still common for flight control systems
in aviation and space vehicles.
Digital Computers
For all their apparent complexity, digital computers are
basically simple machines. Every operation they perform, from navigating a
spacecraft to playing a game of chess, is based on one key operation:
determining whether certain electronic switches, called gates, are open or
closed. The real power of a computer lies in the speed with which it checks
these switches.
A computer can recognize only two states in each of its
millions of circuit switches—on or off, or high voltage or low voltage. By
assigning binary numbers to these states—1 for on and 0 for off, for
example—and linking many switches together, a computer can represent any type
of data, from numbers to letters to musical notes. This process is called
digitization.
Bits, Bytes, and the Binary
Number System
In most of our everyday lives we use the decimal
numbering system. The system uses 10 digits that can be combined to form larger
numbers. When a number is written down, each of the digits represents a
different power of 10. For example, in the number 9,253, the rightmost digit
(3) is the number of 1s, the next digit (5) is the number of 10s, the next
digit (2) is the number of 100s, and the last digit (9) is the number of
1,000s. Thus, the value of the number is
The number 100 can be written as 10 × 10, or 102,
and 1,000 as 10 × 10 × 10, or 103. The small raised number is called
the power, or exponent, and it indicates how many times to multiply a number by
itself. Also, 10 can be written as 101, and 1 as 100. So
another way to look at the number 9,253 is
Because a computer's electronic switch has only two
states, computers use the binary number system. This system has only two
digits, 0 and 1. In a binary number such as 1101, each binary digit, or bit,
represents a different power of 2. The first few powers are 20 = 1,
21 = 2, 22 = 2 × 2 = 4, and 23 = 2 × 2 × 2 =
8. Just as in the decimal numbering system, the value of the binary number can
be calculated by adding the powers:
So binary 1101 is equal to decimal 13.
A computer generally works with groups of bits at a time.
A group of eight bits is called a byte. A byte can represent the 256 different
binary values 00000000 through 11111111, which are equal to the decimal values
0 through 255. That is enough values to assign a numeric code to each letter of
the Latin alphabet (both upper and lower case, plus some accented letters), the
10 decimal digits, punctuation marks, and common mathematical and other special
symbols. Therefore, depending on a program's context, the binary value 01000001
can represent the decimal value 65, the capital letter A, or an instruction to
the computer to move data from one place to another.
The amount of data that can be stored in a computer's
memory or on a disk is referred to in terms of numbers of bytes. Computers can
store billions of bytes in their memory, and a modern disk can hold tens, or
even hundreds, of billions of bytes of data. To deal with such large numbers,
the abbreviations K, M, and G (for “kilo,” “mega,” and “giga,” respectively)
are often used. K stands for 210 (1,024, or about a thousand), M
stands for 220 (1,048,576, or about a million), and G stands for 230
(1,073,741,824, or about a billion). The abbreviation B stands for byte, and b
for bit. So a computer that has a 256 MB (megabyte) memory can hold about 256
million characters. An 80 GB (gigabyte) disk stores about 80 billion
characters.
Parts of a Digital Computer
System
A working computer requires both hardware and software.
Hardware is the computer's physical electronic and mechanical parts. Software
consists of the programs that instruct the hardware to perform tasks.
Hardware
A digital computer's hardware is a complex system of four
functionally different elements—a central processing unit, input devices,
memory-storage devices, and output devices—linked by a communication network,
or bus. The bus is usually incorporated into the main circuit board, called the
motherboard, which is plugged into all the other components.
The central processing unit
The heart of a computer is the central processing unit
(CPU). In addition to performing arithmetic and logic operations on data, it
times and controls the rest of the system. Mainframe and supercomputer CPUs
sometimes consist of several linked microchips, called microprocessors, each of
which performs a separate task, but most other computers require only a single
microprocessor as a CPU.
Most CPUs have three functional sections:
- (1) the arithmetic/logic unit (ALU), which performs arithmetic operations (such as addition and subtraction) and logic operations (such as testing a value to see if it is true or false);
- (2) temporary storage locations, called registers, which hold data, instructions, or the intermediate results of calculations; and
- (3) the control section, which times and regulates all elements of the computer system and also translates patterns in the registers into computer activities (such as instructions to add, move, or compare data).
A very fast clock times and regulates a CPU. Every tick,
or cycle, of the clock causes each part of the CPU to begin its next operation
and to stay synchronized with the other parts. The faster the CPU's clock, the
faster the computer can perform its tasks. The clock speed is measured in
cycles per second, or hertz (Hz). Today's desktop computers have CPUs with 1 to
4 GHz (gigahertz) clocks. The fastest desktop computers therefore have CPU
clocks that tick 4 billion times per second. The early PCs had CPU clocks that
operated at less than 5 MHz. A CPU can perform a very simple operation, such as
copying a value from one register to another, in only one or two clock cycles.
The most complicated operations, such as dividing one value by another, can require
dozens of clock cycles.
Input devices
Components known as input devices let users enter
commands, data, or programs for processing by the CPU. Computer keyboards,
which are much like typewriter keyboards, are the most common input devices. Information
typed at the keyboard is translated into a series of binary numbers that the
CPU can manipulate.
Another common input device, the mouse, is a mechanical
or optical device with buttons on the top and either a rolling ball or an
optical sensor in its base. To move the cursor on the display screen, the user
moves the mouse around on a flat surface. The user selects operations,
activates commands, or creates or changes images on the screen by pressing
buttons on the mouse.
Other input devices include joysticks and trackballs.
Light pens can be used to draw or to point to items or areas on the display
screen. A sensitized digitizer pad translates images drawn on it with an
electronic stylus or pen into a corresponding image on the display screen. Touch-sensitive
display screens allow users to point to items or areas on the screen and to
activate commands. Optical scanners “read” characters or images on a printed
page and translate them into binary numbers that the CPU can use.
Voice-recognition circuitry digitizes spoken words and enters them into the
computer.
Memory-storage device
Most digital computers store data both internally, in
what is called main memory, and externally, on auxiliary storage units. As a
computer processes data and instructions, it temporarily stores information in
main memory, which consists of random-access memory (RAM). Random access means
that each byte can be stored and retrieved directly, as opposed to sequentially
as on magnetic tape.
Memory chips are soldered onto the printed circuit
boards, or RAM modules, that plug into special sockets on a computer's
motherboard. With memory requirements for personal computers having increased,
typically from four to 16 memory chips are soldered onto a module. In dynamic
RAM, the type of RAM commonly used for general system memory, each chip
consists of millions of transistors and capacitors. (Each capacitor holds one
bit of data, either a 1 or a 0. Today's memory chips can each store up to 512
Mb (megabits) of data; a set of 16 chips on a RAM module can store up to 1 GB
of data. This kind of internal memory is also called read/write memory.
Another type of internal memory consists of a series of
read-only memory (ROM) chips. Unlike in RAM, what is stored in ROM persists
when power is removed. Thus, ROM chips are stored with special manufacturer
instructions that normally cannot be accessed or changed. The programs stored
in these chips correspond to commands and programs that the computer needs in
order to boot up, or ready itself for operation, and to carry out basic
operations. Because ROM is actually a combination of hardware (microchips) and
software (programs), it is often referred to as firmware.
Auxiliary storage units supplement the main memory by
holding programs and data that are too large to fit into main memory at one
time. They also offer a more permanent and secure method for storing programs
and data.
Many auxiliary storage devices, including floppy disks,
hard disks, and magnetic tape, store data by magnetically rearranging metal
particles on their surfaces. Particles oriented in one direction represent 1s,
and particles oriented in another direction represent 0s. Floppy-disk drives
(which read and write data on removable magnetic disks) can store from 1.4 to
2.8 MB of data on one disk and have been used primarily in PCs. Hard-disk
drives, or hard drives, contain nonremovable magnetic media and are used with
all types of computers. They access data very quickly and can store hundreds of
GB of data.
Magnetic-tape storage devices are usually used together
with hard drives on large computer systems that handle high volumes of
constantly changing data. The tape drives, which access data sequentially and
relatively slowly, regularly back up, or duplicate, the data in the hard drives
to protect the system against loss of data during power failures or computer
malfunctions.
Flash memory is a solid-state electronic storage medium
that combines the recordability of RAM with the persistence of ROM. Since its
invention in two basic forms in the late 1980s (by Intel and Toshiba), it has
become standard for portable devices such as digital cameras, cellular
telephones, PDAs, MP3 players, and video-game machines. In the early 21st
century, flash memory devices that could fit on a key ring and had storage
capacities of up to 1 GB (and later more) began to serve as portable hard
drives.
Optical discs are nonmagnetic auxiliary storage devices
that developed from audio compact disc (CD) technology. Data is encoded on a
disc as a series of pits and flat spaces, called lands, the lengths of which
correspond to different patterns of 0s and 1s. One removable 43/4-inch
(12-centimeter) CD contains a spiral track more than 3 miles (4.8 kilometers)
long, on which nearly 1 GB of information can be stored. All the text in this
encyclopedia, for example, would fill only one fifth of one CD. Read-only CDs,
whose data can be read but not changed, are called CD-ROMs (compact
disc–read-only memory). Recordable CDs—called CD-R for write once/read many
(WORM) discs and CD-RW for rewritable discs—have been used by many businesses
and universities to periodically back up changing databases and by individuals
to create (“burn”) their own music CDs.
Digital video disc (DVD) is a newer optical format that
uses a higher-power laser to read smaller data-storage regions. Although DVDs
are the same size as CDs, single-sided discs (the most common) hold up to 4.7
GB. There exist several types of recordable, as well as rewritable, DVDs.
Output devices
Components that let the user see or hear the results of
the computer's data processing are known as output devices. The most common one
is the video display terminal (VDT), or monitor, which uses a cathode-ray tube
(CRT) or liquid-crystal display (LCD) to show characters and graphics on a
television-like screen.
Modems (modulator-demodulators) are input/output (I/O)
devices that allow computers to transfer data between each other. A basic modem
on one computer translates digital pulses into analog signals (sound) and then
transmits the signals through a telephone line or a communication network to
another computer. A modem on the computer at the other end of the line reverses
the process. Different types of modems are used to transmit information over
digital telephone networks (digital subscriber line, or DSL, modems),
television cable lines (cable modems), and wireless networks (high-frequency
radio modems).
Printers generate hard copy—a printed version of
information stored in one of the computer's memory systems. Color ink-jet and
black-and-white laser printers are most common, though the declining cost of
color laser printers has increased their presence outside of the publishing
industry.
Most PCs also have audio speakers. These allow the user
to hear sounds, such as music or spoken words, that the computer generates.
Software
Two types of software instruct a computer to perform its
tasks—systems software and applications software. Systems software is a
permanent component of the computer that controls its fundamental functions.
Different kinds of applications software are loaded into the computer as needed
to perform specific tasks for the user, such as word processing. Applications
software requires the functions provided by the systems software.
Systems software
A computer's operating system (OS) is the systems
software that allows all the dissimilar hardware and software components to
work together. It consists of a set of programs that manages all the computer's
resources, including the data in main memory and in auxiliary storage. An OS
provides services that are needed by applications and software, such as reading
data from a hard disk. Parts of an OS may be permanently stored in a computer's
ROM.
Drivers are OS programs that manage data from different
I/O devices. Drivers understand the differences in the devices and perform the
appropriate translations of input and output data.
Computers write data to, and read from, auxiliary storage
in collections called files. The file system of an OS allows programs to give
names to files, and it keeps track of each file's location. A file system can
also group files into directories or folders.
An OS allows programs to run. When a program is running,
it is in the process of instructing the computer. For example, when a user
plays a video game, the video-game program is running. An OS manages processes,
each of which consists of a running program and the resources that the program
requires. An advanced OS supports multiprocessing to enable several programs to
run simultaneously. It may also include networking services that allow programs
running on one computer to communicate with programs running on another.
Modern operating systems provide a graphical user
interface (GUI) to make the applications software easier to use. A GUI allows a
computer user to work directly with an application program by manipulating text
and graphics on the monitor screen through the keyboard and a pointing device
such as a mouse rather than solely through typing instructions on command
lines. The Apple Computer company's Macintosh computer, introduced in the
mid-1980s, had the first commercially successful GUI-based software.
Another example of systems software is a database system.
A database system works with the file system and includes programs that allow
multiple users to access the files concurrently. Database systems often manage
huge amounts (many gigabytes) of data in a secure manner.
Computers that use disk memory-storage systems are said
to have disk operating systems (DOS). Popular operating systems for PCs are
MS-DOS and Windows, developed by the Microsoft Corporation in the early 1980s
and 1990s, respectively. Workstations, servers, and some mainframe computers
often use the UNIX OS originally designed by Bell Laboratories in the late
1960s. A version of UNIX called Linux gained popularity in the late 1990s for
PCs.
Applications software
Applications software consists of programs that instruct
the computer to accomplish specific tasks for the user, such as word
processing, operating a spreadsheet, managing accounts in inventories, record
keeping, or playing a video game. These programs, called applications, are run
only when they are needed. The number of available applications is as great as
the number of different uses of computers.
Programming
Software is written by professionals known as computer
programmers. Most programmers in large corporations work in teams, with each
person focusing on a specific aspect of the total project. (The eight programs
that run each craft in the space shuttle program, for example, consist of a
total of about half a million separate instructions and were written by
hundreds of programmers.) For this reason, scientific and industrial software
sometimes costs much more than the computers on which the programs run.
Individual programmers can work for profit, as a hobby, or as students, and
they are solely responsible for an entire project.
Computer programs consist of data structures and
algorithms. Data structures represent the information that the program
processes. Algorithms are the sequences of steps that a program follows to
process the information. For example, a payroll application program has data
structures that represent personnel information, including each employee's
hours worked and pay rate. The program's algorithms include instructions on how
to compute each employee's pay and how to print out the paychecks.
Generally, programmers create software by using the
following development process:
- (1) Understand the software's requirements, which is a description of what the software is supposed to do. Requirements are usually written not by programmers but by the people who are in close contact with the future customers or users of the software.
- (2) Create the software's specifications, a detailed description of the required tasks and how the programs will instruct the computer to perform those tasks. The software specifications often contain diagrams known as flowcharts that show the various modules, or parts, of the programs, the order of the computer's actions, and the data flow among the modules.
- (3) Write the code—the program instructions encoded in a particular programming language.
- (4) Test the software to see if it works according to the specifications and possibly submit the program for alpha testing, in which other individuals within the company independently test the program.
- (5) Debug the program to eliminate programming mistakes, which are commonly called bugs. (The term bug was coined in the early 1940s, when programmers looking for the cause of a mysterious malfunction in the huge Mark I computer discovered a moth in a vital electrical switch. Thereafter the programmers referred to fixing programming mistakes as debugging.)
- (6) Submit the program for beta testing, in which users test the program extensively under real-life conditions to see whether it performs correctly.
- (7) Release the product for use or for sale after it has passed all its tests and has been verified to meet all its requirements.
These steps rarely proceed in a linear fashion.
Programmers often go back and forth between steps 3, 4, and 5. If the software
fails its alpha or beta tests, the programmers will have to go back to an
earlier step. Often programming managers schedule several alpha and beta tests.
Changes in software requirements may occur at any time, and programmers then
need to redo parts of their work to meet the new requirements.
Often the most difficult step in program development is
the debugging stage. Problems in program design and logic are often difficult
to spot in large programs, which consist of dozens of modules broken up into
even smaller units called subroutines or subprograms. Also, though a program
might work correctly, it is considered to have bugs if it is slower or less
efficient than it should be.
Programming languages
On the first electronic computers, programmers had to
reset switches and rewire computer panels in order to make changes in programs.
Although programmers still must “set” (to 1) or “clear” (to 0) millions of
switches in the microchips, they now use programming languages to tell the
computer to make these changes.
There are two general types of languages—low-level and
high-level. Low-level languages are similar to a computer's internal binary
language, or machine language. They are difficult for humans to use and cannot
be used interchangeably on different types of computers, but they produce the
fastest programs. High-level languages are less efficient but are easier to use
because they more closely resemble spoken or mathematical languages.
A computer “understands” only one language—patterns of 0s
and 1s. For example, the command to move the number 255 into a CPU register, or
memory location, might look like this: 00111110 11111111. A program might
consist of thousands of such operations. To simplify the procedure of
programming computers, a low-level language called assembly language assigns a
mnemonic code to each machine-language instruction to make it easier to
remember and write. The above binary code might be written in assembly language
as: MVI A,0FFH. To the programmer this means “MoVe Immediately to register A
the value 0FFH.” (The 0FFH represents the decimal value 255.) A program can
include thousands of these mnemonics, which are then assembled, or translated,
into the computer's machine language.
High-level languages use easily remembered commands, such
as PRINT, OPEN, GOTO, and INCLUDE, and mathematical notation to represent
frequently used groups of machine-language instructions. Entered from the
keyboard or from a program, these commands are intercepted by a separate
program—called an interpreter or compiler—that translates the commands into
machine language. The extra step, however, causes these programs to run more
slowly than do programs in low-level languages.
The first high-level language for business data
processing was called FLOW-MATIC. It was devised in the early 1950s by Grace
Hopper, a United States Navy computer programmer. At that time, computers were
also becoming an increasingly important scientific tool. A team led by John
Backus within the International Business Machines (IBM) Corporation began
developing a language that would simplify the programming of complicated
mathematical formulas. Completed in 1957, FORTRAN (Formula Translation) became
the first comprehensive high-level programming language. Its importance was
immediate and long-lasting, and newer versions of the language are still widely
used in engineering and scientific applications.
FORTRAN manipulated numbers and equations efficiently,
but it was not suited for business-related tasks, such as creating, moving, and
processing data files. Several computer manufacturers, with support from the
United States government, jointly developed COBOL (Common Business-Oriented
Language) in the early 1960s to address those needs. COBOL became the most
important programming language for commercial and business-related
applications, and newer versions of it are still widely used today.
John Kemeny and Thomas Kurtz, two professors at Dartmouth
College, developed a simplified version of FORTRAN, called BASIC (Beginner's
All-purpose Symbolic Instruction Code), in 1965. Considered too slow and inefficient
for professional use, BASIC was nevertheless simple to learn and easy to use,
and it became an important academic tool for teaching programming fundamentals
to nonprofessional computer users. The explosion of microcomputer use beginning
in the late 1970s transformed BASIC into a universal programming language.
Because almost all microcomputers were sold with some version of BASIC
included, millions of people now use the language, and tens of thousands of
BASIC programs are now in common use. In the early 1990s the Microsoft
Corporation enhanced BASIC with a GUI to create Visual Basic, which became a
popular language for creating PC applications.
In 1968 Niklaus Wirth, a professor in Zürich,
Switzerland, created Pascal, which he named after 17th-century French
philosopher and mathematician Blaise Pascal. Because it was a highly structured
language that supported good programming techniques, it was often taught in
universities during the 1970s and 1980s, and it still influences today's
programming languages. Pascal was based on ALGOL (Algorithmic Language), a
language that was popular in Europe during the 1960s.
Programs written in LISP (List Processing) manipulate
symbolic (as opposed to numeric) data organized in list structures. Developed
in the early 1960s at the Massachusetts Institute of Technology under the
leadership of Professor John McCarthy, LISP is used mostly for artificial
intelligence (AI) programming. Artificial intelligence programs attempt to make
computers more useful by using the principles of human intelligence in their
programming.
The language known as C is a fast and efficient language
for many different computers and operating systems. Programmers often use C to
write systems software, but many professional and commercial-quality applications
also are written in C. Dennis Ritchie at Bell Laboratories originally designed
C for the UNIX OS in the early 1970s.
In 1979 the language Ada, designed at CII Honeywell Bull
by an international team led by Jean Ichbiah, was chosen by the United States
Department of Defense as its standardized language. It was named Ada, after
Augusta Ada Byron, who worked with Charles Babbage in the mid-1800s and is
credited with being the world's first programmer. The language Ada has been
used to program embedded systems, which are integral parts of larger systems
that control machinery, weapons, or factories.
Languages such as FORTRAN, Ada, and C are called
procedural languages because programmers break their programs into subprograms
and subroutines (also called procedures) to handle different parts of the
programming problem. Such programs operate by “calling” the procedures one
after another to solve the entire problem.
During the 1990s object-oriented programming (OOP) became
popular. This style of programming allows programmers to construct their
programs out of reusable “objects.” A software object can model a physical
object in the real world. It consists of data that represents the object's
state and code that defines the object's behavior. As an object called a sedan
shares attributes with the more generic object called a car in the real world,
a software object can inherit state and behavior from another object. The first
popular language for object-oriented programming was C++, designed by Bjarne
Stroustrup of Bell Laboratories in the mid-1980s. James Gosling of Sun
Microsystems Corporation created a simplified version of C++ called Java in the
mid-1990s. Java has since become popular for writing applications for the
Internet.
Hundreds of programming languages or language variants
exist today. Most were developed for writing specific types of applications.
However, many companies insist on using the most common languages so they can
take advantage of programs written elsewhere and to ensure that their programs
are portable, which means that they will run on different computers.
The Internet and the World
Wide Web
A computer network is the interconnection of many individual
computers, much as a road is the link between the homes and the buildings of a
city. Having many separate computers linked on a network provides many
advantages to organizations such as businesses and universities. People may
quickly and easily share files; modify databases; send memos called e-mail
(electronic mail); run programs on remote mainframes; and access information in
databases that are too massive to fit on a small computer's hard drive.
Networks provide an essential tool for the routing, managing, and storing of
huge amounts of rapidly changing data.
The Internet is a network of networks: the international
linking of hundreds of thousands of businesses, universities, and research
organizations with millions of individual users. It was originally formed in
1970 as a military network called ARPANET (Advanced Research Projects Agency
Network) as part of the United States Department of Defense. The network opened
to nonmilitary users in the 1970s, when universities and companies doing defense-related
research were given access, and flourished in the late 1980s as most
universities and many businesses around the world came online. In 1993, when
commercial Internet service providers were first permitted to sell Internet
connections to individuals, usage of the network grew tremendously.
Simultaneously, other wide area networks (WANs) around the world began to link
up with the American network to form a truly international Internet. Millions
of new users came on within months, and a new era of computer communications
began.
Most networks on the Internet make certain files
available to other networks. These common files can be databases, programs, or
e-mail from the individuals on the network. With hundreds of thousands of
international sites each providing thousands of pieces of data, it is easy to
imagine the mass of raw data available to users. Users can download, or copy,
information from a remote computer to their PCs and workstations for viewing
and processing.
British physicist Tim Berners-Lee invented the World Wide
Web in 1992 as a way to organize and access information on the Internet. Its
introduction caused the popularity of the Internet to explode nearly overnight.
Instead of being able to download only simple linear text, with the introduction
of the World Wide Web users could download Web pages that contain text,
graphics, animation, video, and sound. A program called a Web browser runs on
users' PCs and workstations and allows them to view and interact with these
pages.
Hypertext allows a user to move from one Web page to
another by using a mouse to click on special hypertext links. For example, a
user viewing Web pages that describe airplanes might encounter a link to “jet
engines” from one of those pages. By clicking on that link, the user
automatically jumps to a page that describes jet engines. Users “surf the Web”
when they jump from one page to another in search of information. Special
programs called search engines help people find information on the Web.
Many commercial companies maintain Web sites, or sets of
Web pages, that their customers can view. The companies can also sell their
products on their Web sites. Customers who view the Web pages can learn about
products and purchase them directly from the companies by sending orders back
over the Internet. Buying and selling stocks and other investments and paying
bills electronically are other common Web activities.
Many organizations and educational institutions also have
Web sites. They use their sites to promote themselves and their causes, to
disseminate information, and to solicit funds and new members. Some political
candidates, for example, have been very successful in raising campaign funds
through the Internet. Many private individuals also have Web sites. They can
fill their pages with photographs and personal information for viewing by
friends and associates.
To visit a Web site, users type the URL (uniform resource
locator), which is the site's address, in a Web browser. An example of a URL is
www.britannica.com.
Web sites are maintained on computers called Web servers.
Most companies and many organizations have their own Web servers. These servers
often have databases that store the content displayed on their sites' pages.
Individuals with Web sites can use the Web servers of their Internet service
providers.
Web pages are programmed using a language called HTML
(HyperText Markup Language). Web page designers can make their pages more
interactive and dynamic by including small programs written in Java called
applets. When Web browsers download the pages, they know how to render the HTML
(convert the code into the text and graphics for display on the screen) and run
the Java applets. Web servers are commonly programmed in C, Java, or a language
called Perl (practical extraction and reporting language), which was developed
in the mid-1980s by Larry Wall, a computer system administrator.
History of the Computer
The ideas and inventions of many mathematicians,
scientists, and engineers paved the way for the development of the modern
computer. In a sense, the computer actually has three birth dates—one as a
mechanical computing device, in about 500 BC, another as
a concept (1833), and the third as the modern electronic digital computer
(1946).
Calculating Devices
The first mechanical calculator, a system of strings and
moving beads called the abacus, was devised in Babylonia in about 500 BC. The abacus
provided the fastest method of calculating until 1642, when French scientist
Blaise Pascal invented a calculator made of wheels and cogs. When a units wheel
moved one revolution (past 10 notches), it moved the tens wheel one notch; when
the tens wheel moved one revolution, it moved the hundreds wheel one notch; and
so on. Many scientists and inventors, including Gottfried Wilhelm Leibniz, W.T.
Odhner, Dorr E. Felt, Frank S. Baldwin, and Jay R. Monroe, made improvements on
Pascal's mechanical calculator.
Beyond the Adding Machine
The concept of the modern computer was first outlined in
1833 by British mathematician Charles Babbage. His design of an “analytical
engine” contained all the necessary elements of a modern computer: input
devices, a store (memory), a mill (computing unit), a control unit, and output
devices. The design called for more than 50,000 moving parts in a steam-driven
machine as large as a locomotive. Most of its actions were to be executed
through the use of perforated cards—an adaptation of a method that was already
being used to control automatic silk-weaving machines called Jacquard looms.
Although Babbage worked on the analytical engine for nearly 40 years, he never
completed construction of the full machine.
Herman Hollerith, an American inventor, spent the 1880s
developing a calculating machine that counted, collated, and sorted information
stored on punch cards. When cards were placed in his machine, they pressed on a
series of metal pins that corresponded to the network of potential perforations.
When a pin found a hole (punched to represent age, occupation, and so on), it
completed an electrical circuit and advanced the count for that category.
Hollerith began by processing city and state records before he was awarded the
contract to help sort statistical information for the 1890 United States
census. His “tabulator” quickly demonstrated the efficiency of mechanical data
manipulation. The previous census had taken seven and a half years to tabulate
by hand, but, using the tabulator, the simple count for the 1890 census took
only six weeks, and a full-scale analysis of all the data took only two and a
half years.
In 1896 Hollerith founded the Tabulating Machine Company
to produce similar machines. In 1924, after a number of mergers, the company
changed its name to International Business Machines Corporation (IBM). IBM made
punch-card office machinery the dominant business information system until the
late 1960s, when a new generation of computers rendered the punch-card machines
obsolete.
In the late 1920s and 1930s several new types of
calculators were constructed. Vannevar Bush, an American engineer, developed an
analog computer that he called a differential analyzer; it was the first
calculator capable of solving advanced mathematical formulas called
differential equations. Although several were built and used at universities,
their limited range of applications and inherent lack of precision prevented
wider adoption.
Electronic Digital Computers
From 1939 to 1942, American physicists John V. Atanasoff
and Clifford Berry built a computer based on the binary numbering system. Their
ABC (Atanasoff-Berry Computer) is often credited as the first electronic
digital computer. Atanasoff reasoned that binary numbers were better suited to
computing than were decimal numbers because the two digits 1 and 0 could easily
be represented by electrical circuits, which were either on or off.
Furthermore, George Boole, a British mathematician, had already devised a
complete system of binary algebra that could be applied to computer circuits.
Boolean algebra, developed in 1848, bridged the gap between mathematics and
logic by symbolizing all information as being either true or false.
The modern computer grew out of intense research efforts
mounted during World War II. The military needed faster ballistics calculators,
and British cryptographers needed machines to help break the German secret codes.
As early as 1941 German inventor Konrad Zuse produced an
operational computer, the Z3, that was used in aircraft and missile design. The
German government refused to help him refine the machine, however, and the
computer never achieved its full potential. Zuse's computers were destroyed
during World War II, but he was able to save a partially completed model, the
Z4, whose programs were punched into discarded 35-millimeter movie film.
Harvard mathematician Howard
Aiken directed the development of the Harvard-IBM Automatic
Sequence Controlled Calculator, later known as the Harvard Mark I—an electronic
computer that used 3,304 electromechanical relays as on-off switches. Completed
in 1944, its primary function was to create ballistics tables to make Navy
artillery more accurate.
The existence of one of the earliest electronic digital
computers was kept so secret that it was not revealed until decades after it
was built. Colossus was one of the machines that British cryptographers used to
break secret German military codes. It was
developed by a team led by British engineer Tommy Flowers, who completed
construction of the first Colossus by late 1943. Messages were encoded as
symbols on loops of paper tape, which the 1,500-tube computer read at some
5,000 characters per second.
The distinction as the first general-purpose electronic
computer properly belongs to ENIAC (Electronic Numerical Integrator and
Computer). Designed by two American engineers, John W. Mauchly and J. Presper
Eckert, Jr., ENIAC went into service at the University of Pennsylvania in 1946.
Its construction was an enormous feat of engineering—the 30-ton machine was 18
feet (5.5 meters) high and 80 feet (24 meters) long, and contained 17,468
vacuum tubes linked by 500 miles (800 kilometers) of wiring. ENIAC performed
about 5,000 additions per second. Its first operational test included
calculations that helped determine the feasibility of the hydrogen bomb.
To change ENIAC's instructions, or program, engineers had
to rewire the machine, a process that could take several days. The next
computers were built so that programs could be stored in internal memory and
could be easily changed to adapt the computer to different tasks. These
computers followed the theoretical descriptions of the ideal “universal”
(general-purpose) computer first outlined by English mathematician Alan
Turing and later refined by John
von Neumann, a Hungarian-born mathematician.
The invention of the transistor in 1947 brought about a
revolution in computer development. Hot, unreliable vacuum tubes were replaced
by small germanium (later silicon) transistors that generated little heat yet
functioned perfectly as switches or amplifiers.
The breakthrough in computer miniaturization came in
1958, when Jack Kilby, an American engineer, designed the first true integrated
circuit. His prototype consisted of a germanium wafer that included
transistors, resistors, and capacitors—the major components of electronic
circuitry. Using less-expensive silicon chips, engineers succeeded in putting
more and more electronic components on each chip. The development of
large-scale integration (LSI) made it possible to cram hundreds of components
on a chip; very-large-scale integration (VLSI) increased that number to
hundreds of thousands; and ultra-large-scale integration (ULSI) techniques
further increased that number to many millions of components on a microchip the
size of a fingernail.
Another revolution in microchip technology occurred in
1971 when American engineer Marcian E. Hoff combined the basic elements of a
computer on one tiny silicon chip, which he called a microprocessor. This
microprocessor—the Intel 4004—and the hundreds of variations that followed are
the dedicated computers that operate thousands of modern products and form the
heart of almost every general-purpose electronic computer.
Mainframes, Supercomputers,
and Minicomputers
IBM introduced the System/360 family of computers in 1964
and then dominated mainframe computing during the next decade for large-scale
commercial, scientific, and military applications. The System/360 and its
successor, the System/370, was a series of computer models of increasing power
that shared a common architecture so that programs written for one model could
run on another.
Also in 1964, Control Data Corporation introduced the CDC
6600 computer, which was the first supercomputer. It was popular with weapons
laboratories, research organizations, and government agencies that required
high performance. Today's supercomputer manufacturers include IBM,
Hewlett-Packard, NEC, Hitachi, and Fujitsu.
Beginning in the late 1950s, Digital Equipment
Corporation (DEC) built a series of smaller computers that it called
minicomputers. These were less powerful than the mainframes, but they were
inexpensive enough that companies could buy them instead of leasing them. The
first successful model was the PDP-8 shipped in 1965. It used a typewriter-like
device called a Teletype to input and edit programs and data. In 1970 DEC
delivered its PDP-11 minicomputer, and in the late 1970s it introduced its VAX
line of computers. For the next decade, VAX computers were popular as
departmental computers within many companies, organizations, and universities.
By the close of the 20th century, however, the role of minicomputers had been
mostly taken over by PCs and workstations.
The PC Revolution
By the mid-1970s microchips and microprocessors had
drastically reduced the cost of the thousands of electronic components required
in a computer. The first affordable desktop computer designed specifically for
personal use was called the Altair 8800 and was sold by Micro Instrumentation
Telemetry Systems in 1974. In 1977 Tandy Corporation became the first major
electronics firm to produce a personal computer. They added a keyboard and
monitor to their computer and offered a means of storing programs on a cassette
recorder.
Soon afterward, entrepreneur Steven Jobs and Stephen
Wozniak, his engineer partner, founded a small company named Apple Computer,
Inc. They introduced the Apple II computer in 1977. Its monitor supported
relatively high-quality color graphics, and it had a floppy-disk drive. The
machine initially was popular for running video games. In 1979 Daniel Bricklin
wrote an electronic spreadsheet program called VisiCalc that ran on the Apple
II. Suddenly businesses had a legitimate reason to buy personal computers, and
the era of personal computing began in earnest.
IBM introduced its Personal Computer (PC) in 1981. As a
result of competition from the makers of clones (computers that worked exactly
like an IBM PC), the price of personal computers fell drastically. By the 1990s
personal computers were far more powerful than the multimillion-dollar machines
from the 1950s. In rapid succession computers shrank from tabletop to laptop
and finally to palm-size.
The Computer Frontier
As personal computers became faster and more powerful in
the late 1980s, software developers discovered that they were able to write
programs as large and as sophisticated as those previously run only on
mainframes. The massive million-dollar flight simulators on which military and
commercial pilots trained were the first real-world simulations to be moved to
the personal computer. The increasing speed and power of mainframe computers
enabled computer scientists and engineers to tackle problems that were never
attempted before using computers.
Virtual reality
Flight simulators are perfect examples of programs that
create a virtual reality, or a computer-generated “reality” in which the user
does not merely watch but is able to participate. The user supplies input to
the system by pushing buttons or moving a yoke or joystick, and the computer
uses real-world data to determine the results of those actions. For example, if
the user pulls back on the flight simulator's yoke, the computer translates the
action according to built-in rules derived from the performance of a real
airplane. The monitor shows exactly what an airplane's viewscreen would show as
it began to climb. If the user continues to instruct the “virtual plane” to
climb without increasing the throttle, it will “stall” (as would a real plane)
and the “pilot” will lose control. Thus the user's physical actions are
immediately and realistically reflected on the computer's display.
Virtual reality programs give users three essential
capabilities—immersion, navigation, and manipulation. In order for the
alternate reality to be effective, people must feel immersed in it, not merely
as if they are viewing it on a screen. To this end, some programs require
people to wear headphones or 3-D glasses or to use special controllers or foot
pedals. The most sophisticated means of immersing users in a virtual reality
program is through the use of head-mounted displays, helmets that feed slightly
different images to either eye and that move the computer image in the
direction that the user moves his or her head.
Virtual reality programs also create a world through
which one can navigate as “realistically” as in the real world. For example, a
street scene will always show the same doors and windows, which, though their
perspective may change, is always absolutely consistent internally. The most
important aspect of a virtual reality program is its ability to let people
manipulate objects in that world. Pressing a button may fire a gun, holding
down a key may increase a plane's speed, clicking a mouse may open a door, or
pressing arrow keys may rotate an object.
Multimedia
In the early 1990s manufacturers began producing
inexpensive CD-ROM drives that could access more than 650 MB of data from a
single disc. This development started a multimedia revolution. The term
multimedia refers to a computer's ability to incorporate video, photographs,
music, animations, charts, and so forth along with text. The later appearance
of recordable CDs and DVDs, which can store even greater amounts of data, such
as an entire feature-length motion picture on one disc, further increased
multimedia capabilities for PCs.
Audio and video clips require enormous amounts of storage
space, and for this reason, until the 1990s, programs could not use any but the
most rudimentary animations and sounds. Floppy and hard disks were just too
small to accommodate the hundreds of megabytes of required data.
Faster computers and the rapid proliferation of
multimedia programs has changed the way many people get information. By using
hypertext links in a manner similar to the way they are used on Web pages,
material can be presented so that users can peruse it in a typically human
manner, by association. For example, while reading about Abraham Lincoln's
Gettysburg Address, users may want to learn about the Battle of Gettysburg.
They may need only click on the highlighted link “Battle of Gettysburg” to
access the appropriate text, photographs, and maps. “Pennsylvania” may be
another click away, and so on. The wide array of applications for multimedia,
from encyclopedias and educational programs to interactive games using movie
footage and motion pictures with accompanying screenplay, actor biographies,
director's notes, and reviews, makes it one of computing's most exciting and
creative fields.
The information superhighway
The advent of the Internet and the World Wide Web caused
a revolution in the availability of information not seen since the invention of
the printing press. This revolution has changed the ways many people access
information and communicate with each other. Many people purchase home
computers so they can access the Web in the privacy of their homes.
Organizations that have large amounts of printed
information, such as major libraries, universities, and research institutes, are
working to transfer their information into databases. Once in the computer, the
information is categorized and cross-indexed. When the database is then put
onto a Web server, users can access and search the information using the Web,
either for free or after paying a fee.
The information superhighway, as the Internet is
sometimes called, provides access to live, instantaneous information from a
variety of sources. People with digital cameras can record events, send the
images to a Web server, and allow people anywhere in the world to view the
images almost as soon as they are recorded. Many major newsgathering
organizations have increased their use of the Web to broadcast their stories.
Smaller, independent news sources and organizations, which may not be able to
afford to broadcast or publish in other media, offer alternative coverage of
events on the Web.
People throughout the world can use the information
superhighway to communicate with each other, through e-mail, personal Web
pages, or Internet “chat rooms” where individuals can type messages to carry on
live conversations. The potential for sharing information and opinions is
almost limitless.
Artificial intelligence and
expert systems
The standard definition of artificial intelligence is
“the ability of a robot or computer to imitate human actions or skills such as
problem solving, decision making, learning, reasoning, and self-improvement.”
Today's computers can duplicate some aspects of intelligence. For example, they
can perform goal-directed tasks (such as finding the most efficient solution to
a complex problem), and their performance can improve with experience (such as
with chess-playing computers). However, the programmer chooses the goal,
establishes the method of operation, supplies the raw data, and sets the
process in motion. Computers are not in themselves intelligent.
It is widely believed that human intelligence has three
principal components: (1) consciousness, (2) the ability to classify knowledge
and retain it, and (3) the ability to make choices based on accumulated
memories. Expert systems, or computers that mimic the decision-making processes
of human experts, already exist and competently perform the second and third
aspects of intelligence. INTERNIST, for example, was one of the earliest
computer systems designed to diagnose diseases with an accuracy that rivals
that of human doctors. PROSPECTOR is an expert system that was developed to aid
geologists in their search for new mineral deposits. Using information obtained
from maps, surveys, and questions that it asks geologists, PROSPECTOR predicts
the location of new deposits.
As computers get faster, as engineers devise new methods
of parallel processing (in which several processors simultaneously work on one
problem), and, as vast memory systems are perfected, consciousness—the final
step to intelligence—is no longer inconceivable. Alan
Turing devised the most famous test for assessing computer
intelligence. The “Turing test” is an interrogation session in which a human
asks questions of two entities, A and B, which he or she cannot see. One entity
is a human, and the other is a computer. The interrogator must decide, on the
basis of the answers, which one is the human and which the computer. If the
computer successfully disguises itself as a human—and it and the human may lie
during the questioning—then the computer has proven itself intelligent.
The Future of Computers
Research and development in the computer world moves
simultaneously along two paths—in hardware and in software. Work in each area
influences the other.
Many hardware systems are reaching natural limitations.
Memory chips that could store 512 Mb were in use in the early 21st century, but
the connecting circuitry was so narrow that its width had to be measured in
atoms. These circuits are susceptible to temperature changes and to stray
radiation in the atmosphere, both of which could cause a program to crash
(fail) or lose data. Newer microprocessors have so many millions of switches
etched into them that the heat they generate has become a serious problem.
For these and other reasons, many researchers feel that
the future of computer hardware might not be in further miniaturization, but in
radical new architectures, or computer designs. For example, almost all of
today's computers process information serially, one element at a time.
Massively parallel computers—consisting of hundreds of small, simple, but
structurally linked microchips—break tasks into their smallest units and assign
each unit to a separate processor. With many processors simultaneously working
on a given task, the problem can be solved much more quickly.
A major technology breakthrough was made in 2003 by Sun
Microsystems, Inc. While the integrated circuit has enabled millions of
transistors to be combined in one manufacturing process on a silicon chip, Sun
has taken the next step to wafer-scale integration. Rather than producing
hundreds of microprocessors on each silicon wafer, cutting them into separate
chips, and attaching them to a circuit board, Sun figured out how to
manufacture different chips edge-to-edge on a single wafer. When introduced
into full-scale manufacturing, this process promises to eliminate circuit
boards, speed up data transfer between different elements by a hundredfold, and
substantially reduce the size of computer hardware.
Two exotic computer research directions involve the use
of biological genetic material and the principles of quantum mechanics. In DNA computing,
millions of strands of DNA are used to test possible solutions to a problem,
with various chemical methods used to gradually winnow out false solutions.
Demonstrations on finding the most efficient routing schedules have already
shown great promise; more efficient laboratory techniques need to be developed,
however, before DNA computing becomes practical.
Quantum computing relies on the strange property of
“superposition” in which subatomic
particles, called qubits (quantum bits), do not have clearly
defined states. Since each particle may be in either of two spin states, or in
both, calculations can be simultaneously done for both states. This may not
seem like a big improvement, but just four qubits with two states each leads to
16 different configurations (24). If a system of 30 qubits could be protected
from outside interference (decoherence), it would perform as fast as a digital
supercomputer performing 10 trillion of a certain kind of operation per second
(10 teraflops).
Several hundred thousand computer-controlled robots currently
work on industrial assembly lines in Japan and the United States. They consist
of four major elements: sensors (to determine position or environment),
effectors (tools to carry out an action), control systems (a digital computer
and feedback sensors), and a power system. Robots also have been used in
scientific explorations too dangerous for humans to perform, such as descending
into active volcanoes, gathering data on other planets, and exploring nuclear
sites in which radiation leakage has occurred. As computers become more
efficient and artificial intelligence programs become more sophisticated,
robots will be able to perform more difficult and more humanlike tasks.
As exciting as all the hardware developments are, they
are nevertheless dependent on well-conceived and well-written software.
Software controls the hardware and forms an interface between the computer and
the user. Software is becoming increasingly user-friendly (easy to use by
nonprofessional computer users) and intelligent (able to adapt to a specific
user's personal habits). A few word-processing programs
learn their user's writing style and offer suggestions; some game programs
learn by experience and become more difficult opponents the more they are
played. Future programs promise to adapt themselves to their user's personality
and work habits so that the term personal computing will take on an entirely
new meaning.
Programming is itself becoming more advanced. While some
types of programming require even greater expertise, more and more people with
little or no traditional computer programming experience can do other forms of
programming. Object-oriented programming technology, in conjunction with
graphical user interfaces, will enable future users to control all aspects of
the computer's hardware and software simply by moving and manipulating
graphical icons displayed on the screen.
Another approach to programming is called evolutionary
computation for its use of computer code that automatically produces and
evaluates successive “generations” of a program. Short segments of computer
code, called algorithms, are seeded into an artificial environment where they
compete. At regular intervals, the algorithms deemed best according to
user-supplied criteria are harvested, possibly “mutated,” and “bred.” Over the
course of thousands, or even millions, of computer generations, highly
efficient computer programs have been produced. Thus far, the need to carefully
devise “survival” criteria for the genetic algorithms has limited the use of
this technique to academic research.
The Social Impact of Computers
Until the mid-1980s few people had direct contact with computers.
Then people began to purchase PCs for use at home, and in the 1990s the
Internet and the World Wide Web came to affect nearly everybody. This Internet
revolution has had a strong impact on modern society.
Being Connected
Many people have increasingly felt the need to “be
connected” or “plugged in” to information sources or to each other. Companies
and other organizations have put massive amounts of information onto the World
Wide Web, and people using Web browsers can access information that was never
before available. Search engines allow users to find answers to almost any
query. People can then easily share this information with each other, anywhere
in the world, using e-mail, personal Web sites, or online chat rooms and
discussion groups.
Schools and libraries
Schools at all levels recognize the importance of
training students to use computers effectively. Students can no longer rely
solely on their textbooks for information. They must also learn to do research
on the World Wide Web. Schools around the world have begun to connect to the
Internet, but they must be able to afford the equipment, the connection
charges, and the cost of training teachers.
Libraries that traditionally contained mainly books and
other printed material now have PCs to allow their patrons to go online. Some
libraries are transferring their printed information into databases. Rare and
antique books are being photographed page by page and put onto optical discs.
Computer literacy
In an increasingly computerized society, computer
literacy, the ability to understand and use computers, is very important.
Children learn about computers in schools, and many have computers at home, so
they are growing up computer literate. Many adults, however, have only recently
come into contact with computers, and some misunderstand and fear them.
Knowledge about computers is a requirement for getting
many types of jobs. Companies demand that their employees know how to use
computers well. Sometimes they will send their employees to classes, or have
in-house training, to increase workplace computer literacy.
The increasing use of computers is cause for concern to
some, who feel that society is becoming overdependent on computers. Others are
concerned that as people spend too much time online, they are having too little
face-to-face social contact with others.
Accuracy of information
Almost anybody can make information available on the
Internet—including information that is intentionally or inadvertently false,
misleading, or incomplete. Material published in books, newspapers, and
journals by reputable publishers is normally subjected to fact-checking and
various other editorial reviews. Depending on the source, information on the
Web may or may not have been verified. Before accepting information as
accurate, savvy Web users assess the trustworthiness, expertise, and
perspective or possible biases of the source.
Privacy
As society has become increasingly computerized, more and
more personal information about people has been collected and stored in
databases. Computer networks allow this information to be easily transmitted
and shared. Personal privacy issues concern who is allowed to access someone's
personal information, such as medical or financial data, and what they are
allowed to do with that information.
Freedom of speech
As with other media, freedom of speech has at times come
into conflict with people's desire to control access to some of the information
available on the Internet. In particular, some citizens around the world have
been blocked from reading Web sites that criticized their government or that
contained information deemed subversive. Some organizations have Web sites that
certain groups of people deem pornographic, defamatory, libelous, or otherwise
objectionable. These organizations have been taken to court in legal attempts,
not always successful, to take their sites off the Internet.
Parents are often concerned about what their children can
access on the Internet. They can install special programs called Web filters that
automatically block access to Web sites that may be unsuitable for children.
Commerce
More and more companies and their customers engage in
electronic commerce. E-commerce offers convenience; access to a great variety
of products, whether one lives in an isolated place or a big city; and
sometimes lower prices. Because companies that do business exclusively on the
Internet do not have the expense of maintaining physical retail outlets, they
can pass the savings on to customers.
Companies can put detailed information about their
products on their Web sites, and customers can study and compare product
features and prices. Customers place product orders online and pay for their
purchases by including their credit card numbers with the orders. For this reason,
companies use secure Web servers for e-commerce. Secure servers have extra
safety features to protect customers' privacy and to prevent unauthorized
access to financial information.
Some people are concerned that online shopping will put
many physical retail stores out of business, to the detriment of personal
one-on-one service. In addition, some electronic retailers, especially those
that operate through online auction sites, have been the subject of consumer
complaints regarding slow or nonexistent deliveries, defective or falsely
advertised merchandise, and difficulties in obtaining refunds.
The Computer Industry
The computer industry itself—the development and
manufacturing of computer hardware and software—had a major impact on society
in the late 20th century and has become one of the world's largest industries
in the 21st century. Certainly, the hardware manufacturers, from the chip
makers to the disk-drive factories, and the software developers created many
thousands of jobs that did not previously exist.
The industry spawned many new companies, called
start-ups, to create products out of the new technology. Competition is fierce
among computer companies, both new and old, and they are often forced by market
pressures to introduce new products at a very fast pace. Many people invest in
the stocks and securities of the individual “high-tech” companies with the hope
that the companies will succeed. Several regions around the world have
encouraged high-tech companies to open manufacturing and development
facilities, often near major universities. Perhaps the most famous is the
so-called Silicon Valley just south of San Francisco in California.
Cybercrime
Computers, with all the benefits they offer, also
unfortunately can enable cybercrime, or computer crime. Of course, the
computers and their electronic components have always been the targets of
thieves. But with the decreasing cost of hardware and the increasing value of
software and information, criminals have begun to concentrate on the latter.
Law-enforcement agencies throughout the world have had to learn ways to combat
computer crime.
Piracy
Computer software is often much more expensive than the
computer hardware that it runs on. Software companies and their programmers can
spend many years and millions of dollars developing their programs. But after
the programs are completed, they are stored on relatively inexpensive media
such as CD-ROMs that can be easily copied. A software pirate is a person or a
company that uses a copy of a program that was not purchased legitimately. The
software industry loses billions of dollars each year to piracy.
Digital piracy is also a growing problem for the music
industry. Worldwide, audio CD sales had decreased by more than 10 percent at
the beginning of the 21st century as a result of people illegally sharing
electronic (MP3) music files over the Internet.
Viruses and worms
In an effort to sabotage other people's computers,
malevolent computer programmers (sometimes called hackers) create software that
can manipulate or destroy another computer's programs or data. The most common
of such malicious programs are called viruses. A computer virus infects, or
secretly runs on, a computer to cause some mischief or damage. It can attach
itself to a legitimate program, often in the computer's operating system, and
then copy itself onto other programs with which it comes in contact. Worms are
self-contained programs that enter a computer and generate their own commands.
Viruses and worms can spread from one computer to another by way of exchanged
disks, over local area networks, or over the Internet. If undetected, they may
be powerful enough to cause computer systems to crash or even shut down large
portions of the Internet.
Information theft
Some criminals use the Internet or other computer
networks to break into a particular computer system in order to access
forbidden information or to cause some damage. Such users also are called
hackers. Many companies and organizations that have networked computers use various
security measures, such as computers serving as firewalls, to protect their
computers from illegitimate access. But many hackers are familiar with these
measures and know how to get around them.
Some hackers are bent on sabotage, and others are
interested in stealing information from the computers they break into. Many
hackers, however, do it simply for the challenge of gaining access to otherwise
inaccessible information. Computers at government and military institutions are
therefore often targets.
Another motivation for criminals to break into government
and corporate databases is identity theft—the unauthorized use of an
individual's personal information, such as social security number and credit
card account numbers. This information might be used for theft or to conceal
the criminal's own identity.
Computer fraud and predators
Criminals can log into the Internet just like everyone
else, and they can commit crimes against other people who also are logged in.
They may give out false information to encourage others to send them money or
personal information. They may also be predators who use the anonymity afforded
by chat rooms and discussion groups to lure children into meeting them in
person.
Spam
By the early 21st century, unsolicited bulk commercial
e-mail, called spam, was thought to account for at least half of all e-mail
messages sent each day. Spam became increasingly disruptive around the world,
clogging up computer systems and often exposing users to advertisements for
pornography. In many areas governments passed new laws or began enforcing
existing ones that restricted the sending of unsolicited e-mail. Many computer
users and organizations run filtering software to help keep unwanted messages
from flooding their inboxes.
Careers in the Computer Field
The information technology (IT) sector experienced
tremendous growth in the late 20th century. By the early 21st century,
computer-related jobs employed millions of people around the world.
Not all computer professionals work directly for a
company. Many are independent consultants who are hired to accomplish a
specific task and are paid by the hour. A consulting job may last from a few
hours to several years.
Systems analysts develop methods for computerizing
businesses and scientific centers. They and computer consultants also improve
the efficiency of systems already in use. Computer-security specialists help
protect the integrity of the huge information banks developed by businesses and
governments.
Applications programmers write commercial programs to be
used by businesses and other organizations as well as in the home. Systems
programmers write the complex programs that control the inner workings of the
computer. Many specialty areas exist within these two large groups, such as database
programmers and designers of graphical user interfaces.
As more small- and medium-sized businesses have become
computerized, they have required more people to operate their systems. Computer
operators and systems administrators typically need to handle several types of
computers and be familiar with a diversified range of applications and systems
software. Companies also need specialists to administer their Web sites.
Other important careers in the IT field include computer
scientists, who perform research and teach at universities, and hardware
designers and engineers, who work in areas such as microchip and peripheral
equipment design. Information-center or database administrators manage the
information collections developed by businesses or data banks.
Management careers include that of a data-processing
manager, who is responsible for managing the computing needs of a business. At
the executive level is the chief information officer (CIO) of a company, who is
responsible for the computing needs of an entire corporation.
Various support careers also exist, including technical
writing, computer-based training, and operations management, which do not
necessarily require extremely technical backgrounds. Graphic artists
(especially those familiar with computer-based drawing programs) work with
programmers and Web-page designers to create informative and attractive Web
sites.
0 comments:
Post a Comment