In the late 1940s and early 1950s, the introduction of the electronic digital computer was greeted with great excitement. Able to perform the work of seven thousand engineers in mere seconds, these first generation computers were remarkable machines, yet the process of programming them was a difficult one. The very early computers used vacuum tube circuitry and the familiar decimal digits (0-9) to represent data. Computer engineers found it was very difficult to get the precise power voltages needed to represent ten different digits, and data was frequently misrepresented. In 1946 John von Neumann, a Hungarian mathematician working on the EDVAC project, decided to abandon the decimal system in favor of the binary numbering system, which has been utilized every since.
Although computers seem to perform amazing feats and accomplishments, they actually understand only two things--whether an electrical "on" or "off" condition exists in their circuits. The binary numbering system, which uses only the 0 and 1 binary digits , (later shortened to bits), lends itself ideally to represent this condition. Binary 1 represents on and binary 0 represents off. Program instructions are sent to the computer by combining bits together in groups of six or eight.
Although this process takes care of the instructional part of programs, data--in the form of decimal numbers, letters and special characters--also has to be represented. For this purpose, the EBCDIC and ASCII codes were introduced. EBCDIC (pronounced "EB-see-dick ") stands for Extended Binary Coded Decimal Interchange Code. Developed by IBM Corporation and used in most of their computers, eight bits are used to represent a single character. A seven-bit code, ASCII (pronounced "AS-key") stands for American Standard Code for Information Interchange. ASCII was developed as a joint effort by several computer manufacturers to create a standard code usable on any computer, regardless of make. ASCII is used in most personal computers today and has been adopted as a standard by the U.S. government.
Although a necessary function, writing a program in machine language is a very complex, time-consuming process. It became apparent to early researchers that the ability to use symbolic codes in programming would speed up the process. Under the direction of Maurice Wilkes (1913-), the EDSAC project, which used the first symbolic coding language, was completed at Cambridge University in 1949. Around that same time, Navy Captain Grace Hopper put her considerable programming experience to work and developed a set of programs to translate symbols into machine language. Working as chief programmer on the UNIVAC I project in 1951, Hopper implemented assembly language, as it came to be called. Assembly language uses short names (known as mnemonics, or memory aids) to represent common sequences of instructions. These instructions in turn are translated back into the 0s and 1s of machine language when the program is run. Although the resultant translation slows down program execution, the time saved in initial programming makes up the difference.
With the introduction of many higher level languages in the late 1950s and 1960s, assembly language use has greatly diminished. Most operating systems, nevertheless, are still written in assembly, as it executes faster than higher level languages and allows for direct hardware interaction.
This is the complete article, containing 523 words
(approx. 2 pages at 300 words per page).