The Evolution of Computer Programming Languages

Only available on StudyMode
  • Download(s) : 277
  • Published : April 30, 2011
Open Document
Text Preview
Many would think that computer programming is a recent invention but the idea behind writing instructions for a machine to follow then has been around for over a century. Starting from Charles Babbage’s steam driven machine named the Analytical Engine back in 1834. Unlike the simple calculating machines of that time that could perform only a single function, Charles Babbage’s Analytical Engine could perform a variety of tasks. This idea caught the attention of Ada Lovelace, a mathematician and daughter of the poet Lord Byron. Understanding the potential of a programmable machine, Ada wrote a program to make the Analytical Engine calculate and print a sequence of numbers known as Bernoulli numbers. Because of her work with the Analytical Engine, Ada Lovelace is considered to be the world’s first computer programmer. Over a hundred years later, the first true computer appeared in 1943 when the U.S. Army created a computer called ENIAC able to calculate artillery trajectories. This computer consisted of vacuum tubes, switches, and cables. To give it instructions, you had to physically flip its different switches and rearrange its cables. However, physically rearranging cables and switches to reprogram a computer proved to be very cumbersome. So instead of physically rearranging the computer’s wiring, computer scientists decided it would be easier to give the computer different instructions, which could make the computer behave in different ways. In the old days, computers were filling entire rooms and were costing millions of dollars. Today, computers have shrunk so much in size that they are essentially nothing more than a little silicon wafer, about the size of a potato chip. These silicon wafers are called the central processing unit (CPU), or processor. However in order to tell the processor what to do, you have to give it instructions written in a language that it can understand. That can be achieved only using a programming language. Since 1943, programming languages have not stopped evolving, computer scientists are always trying to make a programmers life easier. The evolution of programming languages consists of four generations: machine language, assembly language, high-level languages and structured query language. The first generation of programming languages was the machine language which was used by the first computers. This generation of programming languages were written in what is called a binary code, a series of zeros and ones where one stands for power on and zero for power off. Nonetheless to understand how a machine language works, one must understand how a processors works. Basically, a processor consists of nothing more than millions of micro switches that can be turned on or off. By turning certain switches on or off, one can make the processor do something useful. So machine language permits instead of manually turning switches on or off, to turn a processor’s switches on or off by using those two numbers. So a typical machine language instruction could look like this 101001 0101. As it proved later, binary code was too difficult to read and complicated tasks were too long or difficult to be expressed thus errors occurred frequently. Machine languages were created differently for each different CPU, which lead to something called machine dependency. Machine dependency was a huge problem because a programming language written in binary code would only work for the system that it was written for. Machine language is considered as the native language of the CPU, but almost no one writes programs in machine language because it is so tedious and confusing. A single one or zero in the wrong place and accidentally the wrong instruction could be given to the CPU. Because writing instructions in machine language can be so difficult and error-prone, computer scientists later invented to some extent a simpler computer programming language: the assembly language. The second generation of programming...
tracking img