ABOUT US

 Bravenet.com

 

 

 

COMPUTER  

V. PROGRAMMING  

A program is a sequence of instructions that tells the hardware of a computer what operations to perform on data. Programs can be built into the hardware itself, or they may exist independently in a form known as software. In some specialized, or "dedicated", computers the operating instructions are embedded in their circuitry; common examples are the microcomputers found in calculators, wristwatches, car engines, and microwave ovens. A general-purpose computer, on the other hand, although it contains some built-in programs (in ROM) or instructions (in the processor chip), depends on external programs to perform useful tasks. Once a computer has been programmed, it can do only as much or as little as the software controlling it at any given moment enables it to do. Software in widespread use includes a wide range of applications programs—instructions to the computer on how to perform various tasks.

A) Languages  

A computer must be given instructions in a programming language that it understands—that is, a particular pattern of binary digital information. On the earliest computers, programming was a difficult, laborious task, because vacuum-tube ON-OFF switches had to be set by hand. Teams of programmers often took days to program simple tasks such as sorting a list of names. Since that time numbers of computer languages have been devised, some with particular kinds of functioning in mind and others aimed more at ease of use—the "user-friendly" approach.

B) Machine Language  

The computer’s own binary-based language, or machine language, is difficult for human beings to use. The programmer must input every command and all data in binary form, and a basic operation such as comparing the contents of a register to the data in a memory-chip location might look like this: 11001010 00010111 11110101 00101011. Machine-language programming is such a tedious, time-consuming task that the time saved in running the program rarely justifies the days or weeks needed to write the program.

C) Assembly Language

 One method programmers devised to shorten and simplify the process is called assembly-language programming. By assigning a short (usually three-letter) mnemonic code to each machine-language command, assembly-language programs could be written and "debugged"—cleaned of logic and data errors—in a fraction of the time needed by machine-language programmers. In assembly language, each mnemonic command and its symbolic operands equals one machine instruction. An assembler program translates the source code, a list of mnemonic operation codes and symbolic operands, into object code, that is into machine language, and executes the program.

Each assembly language, however, can be used with only one type of CPU chip or microprocessor. Programmers who expended much time and effort to learn how to program one computer had to learn a new programming style each time they worked on another machine. What was needed was a shorthand method by which one symbolic statement could represent a sequence of many machine-language instructions, and a way that would allow the same program to run on several types of machines. These needs led to the development of high-level languages.

D) High-Level Languages  

High-level languages often use English words—for example, LIST, PRINT, OPEN, and so on—as commands that might stand for a sequence of tens or hundreds of machine-language instructions. The commands are entered from the keyboard or from a program in memory or in a storage device, and they are intercepted by a program that translates them into machine-language instructions.

Translator programs are of two kinds: interpreters and compilers. With an interpreter, programs that loop back to re-execute part of their instructions reinterpret the same instruction each time it appears, so interpreted programs run much more slowly than machine-language programs. Compilers, by contrast, translate an entire program into machine language prior to execution, so such programs run as rapidly as though they were written directly in machine language.

The American computer scientist Grace Hopper is credited with implementing the first commercially oriented computer language. After programming an experimental computer at Harvard University, she worked on the UNIVAC I and II computers and developed a commercially usable high-level programming language called FLOW-MATIC. To facilitate computer use in scientific applications, IBM then developed a language that would simplify work involving complicated mathematical formulas. Begun in 1954 and completed in 1957, FORTRAN (FORmula TRANslator) was the first comprehensive high-level programming language that was widely used.

In 1957 the Association for Computing Machinery in the United States set out to develop a universal language that would correct some of FORTRAN’s shortcomings. A year later they released ALGOL (ALGOrithmic Language), another scientifically oriented language; widely used in Europe in the 1960s and 1970s, it has since been superseded by newer languages, while FORTRAN continues to be used because of the huge investment in existing programs. COBOL (Common Business-Oriented Language), a commercial and business programming language, concentrated on data organization and file-handling and is widely used today in business.

BASIC (Beginner’s All-purpose Symbolic Instruction Code) was developed at Dartmouth College in the early 1960s for use by non-professional computer users. The language came into almost universal use with the microcomputer explosion of the 1970s and 1980s. Condemned as slow, inefficient, and inelegant by its detractors, BASIC is nevertheless simple to learn and easy to use. Because many early microcomputers were sold with BASIC built into the hardware (in ROM memory) the language rapidly came into widespread use. The following very simple example of a BASIC program adds the numbers 1 and 2, and displays the result (the numerals 10 to 40 are line numbers):

 

Although hundreds of different computer languages and variants exist, several others deserve mention. PASCAL, originally designed as a teaching tool, is now one of the most popular microcomputer languages. LOGO was developed to introduce children to computers. C, a language Bell Laboratories designed in the 1970s, is widely used in developing systems programs, as is its successor, C++. LISP and PROLOG are widely used in artificial intelligence. Still further languages have been developed to permit programming in hypermedia, as in CD-ROM and Internet applications.

VI. FUTURE DEVELOPMENTS  
One continuing trend in computer development is microminiaturization, the effort to compress more circuit elements into smaller and smaller chip space. For example, in 1999, scientists developed a circuit the size of a single layer of molecules, and in 2000 IBM announced that it had developed new technology to produce computer chips that operate five times faster than the most advanced models to date. Also in 2000, scientists discovered a way to transfer information on an atomic level without relying on traditional wires or circuits. This effect, dubbed the "quantum mirage", describes how an atom of matter placed in an elliptical-shaped structure on a solid surface reflects itself at other points within the ellipse, thereby relaying information. Researchers are also trying to speed up circuitry functions through the use of superconductivity, the phenomenon of decreased electrical resistance observed in certain materials at very low temperatures. As the physical limits of silicon-chip computer processors are being approached, scientists are exploring the potential of the next generation of computer technology, using, for instance, devices based on deoxyribonucleic acid (DNA).


The "fifth-generation" computer effort to develop computers that can solve complex problems in ways that might eventually merit the description "creative" is another trend in computer development, the ideal goal being true artificial intelligence. One path actively being explored is parallel processing computing, which uses many chips to perform several different tasks at the same time. Parallel processing may eventually be able to duplicate to some degree the complex feedback, approximating, and assessing functions of human thought. One important parallel processing approach is the neural network, which mimics the architecture of the nervous system. Another ongoing trend is the increase in computer networking, which now employs the worldwide data communications system of satellite and cable links to connect computers globally. There is also a great deal of research into the possibility of "optical" computers—hardware that processes not pulses of electricity but much faster pulses of light.

 

 

Designed by Zile & Bezimeni, while Noci was playing Starcfraft all the time...