BASIC
From Maze
(Difference between revisions)
(Close Read Through Edits) | (→A Brief History of Programming) | ||
| Line 19: | Line 19: | ||
== A Brief History of Programming == | == A Brief History of Programming == | ||
| − | There is plenty of dispute about who should be rightly called the first computer programmer, but many have awarded this designation to Ada Byron, Lady Lovelace. She was brought up by her mother and educated extensively in mathematics and logic so that she might avoid becoming a poet like her father, Lord Byron. It turns out that the struggle to keep computation apart from poetics and aesthetics, instead of allowing them to mingle as they do in 10 PRINT, has a long history. | + | While there is some dispute over who should rightly be called the first computer programmer, many have awarded this designation to Ada Byron, the Countess of Lovelace. Raised by her mother and educated extensively in mathematics and logic so that she might follow a different path from her father, Lord Byron, Ada Byron is an illustrative example of the struggle to keep computation apart from poetics. While aesthetics and processing may mingle in 10 PRINT, far too often in history they have been seen as opposites, the Dionysus and Apollo of the digital world. |
| − | Ada Lovelace's contributions as an early programmer can be found in her translation of and notes to an Italian article about Charles Babbage's Analytical Engine by Louis Menebrea. In this work, completed in 1843, she envisioned the Analytical Engine as a general-purpose computer and described an algorithm that could be used to output Bernoulli numbers. Although the computer Lovelace programmed was never built, Lovelace's project was important to the modern idea of the computer program (Fuegi & Francis). This very early concept of a program was of an algorithm specified in mathematical notation. | + | Ada Lovelace's contributions as an early programmer are most evident in her translation of and notes to an Italian article about Charles Babbage's Analytical Engine by Louis Menebrea. In this work, completed in 1843, she envisioned the Analytical Engine as a general-purpose computer and described an algorithm that could be used to output Bernoulli numbers. Although the computer to execute Lovelace's program was never built, her project made an important contribution to the modern idea of the computer program (Fuegi & Francis). This contribution was the concept that a program consisted of an algorithm delineated in mathematical notation. |
| − | The computer programs that followed in the electromechanical and early electronic age of computing were quite a bit less intelligible, with a much less direct relationship to familiar symbols. The ENIAC, a fully electronic computer built at the University of Pennsylvania from 1943 to 1945, was programmed initially by plugging in an elaborate set of cables (da Cruz). To run particular calculations, constants were then set using dials. | + | The computer programs that followed in the electromechanical and early electronic age of computing were less intelligible than Lovelace's algorithm, bearing little relationship to any kind of written word -- or numbers. For example, the ENIAC, a fully electronic computer built at the University of Pennsylvania from 1943 to 1945, was programmed initially by plugging in an elaborate set of cables (da Cruz). To run particular calculations, constants were then set using dials. |
The next step in programming was machine language. A program in machine language is simply a sequence of numbers. On the ENIAC, these were decimal (base 10) numbers, but different bases were used on other significant early systems. The EDVAC used binary; the ORDVAC, octal; and the BRLESC, sexadecimal (Bergin 62). In all of these cases, programmers needed to arduously determine the sequence of numbers that would constitute a program, writing something that did not look remotely like human language. Each operation the computer was to perform corresponded to a number, while the operands, if there were any, were provided as similar numbers. For instance, to jump unconditionally to a particular absolute address, an opcode such as "76" (in base 10) is used, followed by two bytes specifying the address. In fact, this is the opcode used for an unconditional branch to an absolute address on the Commodore 64. | The next step in programming was machine language. A program in machine language is simply a sequence of numbers. On the ENIAC, these were decimal (base 10) numbers, but different bases were used on other significant early systems. The EDVAC used binary; the ORDVAC, octal; and the BRLESC, sexadecimal (Bergin 62). In all of these cases, programmers needed to arduously determine the sequence of numbers that would constitute a program, writing something that did not look remotely like human language. Each operation the computer was to perform corresponded to a number, while the operands, if there were any, were provided as similar numbers. For instance, to jump unconditionally to a particular absolute address, an opcode such as "76" (in base 10) is used, followed by two bytes specifying the address. In fact, this is the opcode used for an unconditional branch to an absolute address on the Commodore 64. | ||
