The Tortuous Path Of Early Programming

.. e represented by the numerals 0 through to 9 and the letters A through to F. Eg. Black #000000 White #ffffff. A Penchant for Gadgets To at least one frustrated American programmer, the modest progress offered by such number systems seemed grossly insufficient.

Grace Murray Hopper was accustomed to being in the vanguard. She had grown up fascinated by things mechanical, gadgets, she called them. As a girl of seven she had taken apart all the wind-up alarm clocks in her family’s summer home in New Hampshire, to discover how they worked, However she could not put them back together. The ‘spanking’ that followed failed to dim her scientific enthusiasm. After graduating with honours from Vassar College in 1928, she earned a Ph.D in mathematics at Yale, a rare achievement for a female, and then returned to Vassar to teach.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

At the height of World War 2, Hopper joined the U.S. Naval Reserve, and in June 1944 she earned her commission. Her contribution through the years would be prodigious. Lieutenant Hopper was assigned to the navy team that was developing programs for the Mark 1 at Harvard. Mark 1 was the biggest, prettiest gadget I’d ever seen, She later Said. The programming team Hopper joined consisted of two male ensigns, she subsequently learned that when the men heard that a grey-haired old college professor was coming, one of them bribed the other so that he would not have to take the desk next to hers.

Hopper soon proved her worth as a programmer, however. I had an edge, she said. I had studied engineering as well as mathematics, and I knew how the machine worked from the beginning. Of course, I was lucky. When I graduated in 1928, I didn’t know there was going to be a computer in 1944. In 1949, a civilian again, Hopper joined the fledgling Eckert-Mauchly Computer Corporation, Which was operating out of a old factory in North Philidelphia.

Mauchly and Eckert had left the University of Pennsylvania’s Moore School in 1946 after a bitter fight over patent right to their electronic computers. Once ain business for themselves, they secured several contracts and set about building a new machine that they hoped would prove the commercial viability of computing. They called the machine the Universal Automatic Computer, or UNIVAC. The Hidden Perils of Octal Grace Hopper had learned how to work in octal, teaching herself to add, Subtract, multiply and even divide in the strange system. The entire establishment was firmly convinced that the only way to write and efficient program was in octal, she later lamented (the prevailing view was that the computers time was more valuable than the programmer’s; if a program could be executed swiftly, the difficulty of writing it was immaterial).

And indeed octal proved very helpful in getting the company’s prototype computer up and running. She was having trouble balancing her personal bank account, an embarrassing dilemma for a trained mathematician. Finally, she appealed to her brother, who was a banker, and after several evenings’ work he solved the mystery. Occasionally she was subtracting a check in octal rather than the decimal system in the bank, and everyone else used. I face a problem of living in two different worlds, Hopper said.

That may have been one of the things that motivated me to get rid of octal as much as possible. Hopper’s efforts to ease the programmer’s burden (and keep her chequebook balanced) would eventually shape the course of computing. But she was not alone in the attempt. Shortly before she came to Philadelphia, John Mauchly made a suggestion that would take programming a first tentative step beyond octal and Hexadecimal’s. He directed his programmers to devise a computer language that would allow a person to enter problems into the machine in algebraic terms, an approach that Konrad Zuse would have approved of. By the end of 1949, the system, known as Short Code, was operational. Later promoted as an electronic dictionary, it was a primitive high-level language and a definite improvement over machine code.

A programmer first wrote the program to be solved in the form of mathematical equations and then used a printed table to translate their equation symbols into two-character codes. For instance, a parenthesis became 09, while the plus symbol became 07. A separate program in the computer then converted these codes to ones and zeros, and the machine performed the appropriate functions. Short Code’s partner program was essentially a primitive interpreter, a language translator that converts the high-level statements in which a program is written into simpler instructions for immediate execution. As programming languages evolved, interpreters would become one of the two basic categories of language translators.

New advances in languages soon overtook Short Code, but its central idea endured. Far from being simply glorified adding machines, computers are consummate manipulators of symbols, whether those symbols represent numbers, letters, colours, or even musical notes. A computer has no difficulty taking the code numerals 07 and performing the sequence of steps that leads it to add two numbers, as long as it has been programmed to recognise 07 as the symbol for addition. In the same manner, it can take a complete statement, such as IF N * 100 THEN PRINT N/47, and translate it into the basic machine instructions that will enable the hardware to carry out the desired task. This purposeful manipulation of symbols is the fundamental principle behind all programming languages. Although short code was never a commercial success, the language made a deep impression on Grace Hopper.

Short code was the first step toward something which gave a programmer the power to write a program in a language that bore no resemblance whatsoever to the original machine code, she said. But before the promise of Short code could be realised, much more had to be done. The British Contribution The pace of progress in computer languages was tightly bound to advances in computer hardware, and during the late 1940s there were few such advances. Most of them were influenced by Mauchly and Eckert’s early work and could in fact trace their origins to a specific event: a series of lectures held at the Moore School in the summer of 1946.There, Mauchly and Eckert discussed the successor to ENIAC they were planning. Dubbed the Electronic Discrete Variable Automatic Computer, or EDVAC, it would dramatically reduce the labour involved in changing from one program to another by storing its programs and date electronically in an expanded internal memory.

One participant in that summer was Maurice V. Wilkes, then head of the Mathematical Laboratory at Cambridge University. Inspired by the lectures, Wilkes returned to England and set about designing a machine based on the EDVAC concept, construction began in 1947. Named the electronic storage Automatic Calculator, or EDSAC, it became operational in 1949, well before Mauchly and Eckert’s firm produced its first commercial computer. Like many early computers, EDSAC was a finicky performer. One programmer recalled that even the sound of a airplane flying overhead could bring it to a halt. Whatever EDSAC was shut down for any reason, a set of initial orders had to be loaded into the machine to enable it to accept programs again. This process made a whiring sound, which was a signal for everyone who wanted to use the computer to come running, Programs in hand. Those fortunate enough to have offices nearest the computerusually ended up in the front of the queue.

The others might have to wait a long time. At first, EDSAC could perform 18 basic operations (modern computers usually have a capability of 200), each of them triggered by a particualar sequence of ones and zeros. Early on, EDSAC’s designers decided not to force its programmers to use this machine code in their programs. instead they set up a system of mnemonics in which each machine instruction was represented by a single capital letter. Thus S meant Subtract, I meant Read the next row of holes T meant Transfer information to storage and Z meant Stop the machine.

When a programmer typed a mnemonic on a specially adapted keyboard, the corresponding binary instruction was punched into a papertape, which could then be fes to the machine. Buiding a Library. Even more valuable than the mnemonics devised for EDSAC was the library of subroutines set up for the machine. Subroutines were already a familiar concept in computing: Grace Hopper and her group had used the on the Harvard Mark 1. But they continued to pose their own peculiar problems. Subroutines are independant sections of the computer program that are used over and over and are called for by the main program when needed.Early programmers often kept notebooks containing the comman used subroutines so that they did not have to start from scratch when one was needed.

The problem was that the addresses that designated where each of a subroutine’s instructions and varibles were to reside in memory changed according to where the subroutine occured in the program. Maurice Wilked called the EDSAC scheme of mnemonics and subroutines an assembly system, Commanly known as Assembly. Assembly code reamsins in use today because of its close relation to the machine, an assembly language is machine-specific, designed to correspond to the set of machine-code instructions wired into a particular computer’s CPU. Thus, assembly lanuage is a favourite of programmers who want to compress their programs into the smallest possible space in memory and have them run as fast and efficiently as possible. These attributes made it ideal for programming the telemetry system used by the Titanics finders.

Anyone writing in assembly language has to be intimately familiar with how a computer does things, To know, for example, the many steps required simply to add 2 numbers. Assembly written for one computer would be totally gibberish to another computer.The language was a creation of a brilliant english mathematician Alan M. Turing. By 1948, Turing was in charge of programming he prototype of a real computer called Mark 1, the machine that was being constructed at the University of Manchester. (It was not related to the Mark 1 of Harvard).

The manchester Mark 1used combinations of five binary digits to represent the machines different instructions, with each instruction requiring four such combinations, or 20 bits. Intending to make the Mark 1 easier to program , Turing installed a system in which a mnemonic symbol was substituted for each of the 32 combinations of Zeros and Ones possible with a five-bit code. The symbols Turing assigned to the combinations were the letters, numerals and punctuation mark of a standard teleprinter keyboard. For Example, a slash (/), or stroke to the British, stood for 00000, or zero, an R stood for 01010, and so up to a , representing 11111. That is the end of part one of the four part series.

Please download or read the following files in the near future. I hope that you find this file helpfull. Bibliography Time – Warner Books,.