Top-Rated Free Essay
Preview

The Evolution of Computer Programming Languages

Better Essays
1815 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
The Evolution of Computer Programming Languages
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 languages was the assembly language. The assembly programming language was written in a more simplistic form, and at a higher level of abstraction than machine language. Instead of a series of zeros and ones there were symbols -percents, dollar and portions of a word and number combination in hexadecimal form- used to make commands. The whole purpose of assembly language was to make programming easier than machine language. Basically, one assembly language command could replace a dozen or more machine language commands. So instead of writing ten machine language commands and risking making a mistake in all ten of those commands, assembly language permitted to write one command that did the work of ten or more machine language commands. Not only did this reduce the chance of mistakes, but it also made writing a program in assembly language much faster and easier. To understand how assembly language works, one must first understand how processors store and manipulate data. The processor is the “brain” of the computer it does all the work. By itself, the processor is fairly useless it is useful only if it can communicate with the outside world. The processor communicates with the other parts of the computer through a series of wires called a bus. When a processor needs to work with data, it retrieves it from another part of the computer and temporarily stores that data in a storage area called a register. The processor then edits the data in its registers and sends the changed data back to another part of the computer, such as its memory or hard disk. For example a simple command would be mov al, 061h, mov stands for move. This command moves the hexadecimal number to the register a1. Though the problem comes when adding two numbers together, one should have to tell the processor to store a number into a register, add a second number to the number in the register, and then pull the result out of the register. Thus eventually this language proved to be very complicated specially when creating video games or other large programs. Its biggest problem was that one needed to manipulate the processor’s registers just to do the simplest tasks which was to cumbersome. In addition to that, assembly languages did not solve either the machine dependency problem so scientist in order to make computer programming even easier, found a way to hide the technical details of manipulating registers by creating high-level languages. The third generation of programming languages are the high-level languages. In 1957 Dr. Grace Murray Hopper developed a computer program called a ‘compiler’. That little program led programming languages into an evolutionary leap. Compilers and interpreters (same as compiler with some technical differences) are high-level language translator programs. The first compiler was known as A-0. A compiler takes a set of computer instructions, written in English, which are called statements, which use brief statements or arithmetic expressions and convert them into machine language. Furthermore an individual high-level language statement is actually a macro-instruction; that is to say, that each individual statement gives several machine instructions when translated into machine language. High-level language statements most of the times resemble to the phrases or mathematical expressions needed to express the problem or procedure being programmed. However, the syntax is very important (vocabulary, punctuation, and grammatical rules) and the semantics (meanings). For example, a statement like PRINT “hello world” would show in the screen “hello world”, printing in that statement has nothing to do with the printing machine that we connect in the computer. Also a mistake in the syntax could change everything. A computer does what one tells it to do nothing more nothing less. Programming languages that require the use of a compiler or interpreter are called Third Generation Languages. Through that new generation, computer programmers do not need to know anymore the details of machine language or assembly language to write programs. Languages such as C++ and Visual Basic are amongst third generation’s most known programs. Many important elements of assembly and machine language were not used for this generation of languages. Machine dependency is not anymore a problem encountered by the generation of programming languages. A high-level language is obviously easier to learn and understand than an assembler language. Also, the potential for errors is reduced. Since most of the high-level languages are machine independent, programs written in any high-level language do not have to be reprogrammed when a new computer is installed. Thus, Computer programmers do not have to learn a new language for each computer they program. However, high-level languages programs are usually less efficient than assembler language programs and require a greater amount of computer time for translation into machine instructions. The everyday goal of computer programmers is to always try and create a new programming language, which will make their lives even easier. The fourth and last until today programming languages generation go by the term fourth-generation language because it describes a variety of programming languages that are more nonprocedural and conversational than prior languages. A fourth generation language example is the structured query language (SQL) another example is the INTELLECT natural query language. The fourth generation languages are much easier than all the previous; even a person not so technically advanced would find it easy to write programs in fourth generation programming languages. As long as the computer has the underlying application package that processes for example SQL commands, a person with little or no knowledge of programming skills can write simple programs such as SELECT * FROM STUDENT which will list all of the files in a student’s database. Still, fourth generation programming languages are strictly used only for applications that will process fourth generation commands. When programming is focused on a specific concept, rather than a process, high-level languages like Java, C++, and Smalltalk are used; this method is called object-oriented programming. The fourth generation is, a good example of easy programming, however, computer scientist are always trying to find an easier way. Programming languages have evolved from numbers, symbols, letters, to short words. Each new generation offering, a more potent and easier programming language, and a new special feature never seen before a more powerful tool each time yet having its disadvantages. But computer scientists are determined to eliminate the use of low-level languages with the evolution of trends during the 5th generation. Since we are presently in the 5th generation, preliminary goals have been made to further develop the three types of languages Logic, Constraint-Based, and Declarative Languages. The goal is to make the computer do all of the problem-solving, rather than making a specific application go through the process. In a world where the computer use is day by day augmented and the demand for more and more capable programs are needed, computer scientists struggle to find an easier, less error prone and more time saving way to follow the much greater than before demand.

You May Also Find These Documents Helpful

  • Good Essays

    Grace Murray Hopper

    • 1336 Words
    • 6 Pages

    The Mark I was the first digital computer to be programmed sequentially. The complex code of machine language could be easily misread or incorrectly written. To reduce the number of programming errors, Hopper and her colleagues collected programs that were free of error and generated a catalogue of subroutines that could be used to develop new programs. By this time, the Mark II had been built. Aiken 's team used the two computers side by side, effectively achieving an early instance of multiprocessing.…

    • 1336 Words
    • 6 Pages
    Good Essays
  • Better Essays

    In a world of men, for men, and made by men, there were a lucky few women who could stand up and be noticed. In the early nineteenth century, Lovelace Augusta Byron King, Countess of Lovelace, made her mark among the world of men that has influenced even today 's world. She was the "Enchantress of Numbers" and the "Mother of Computer Programming." The world of computers began with the futuristic knowledge of one Charles Babbage and one Lady Lovelace, who appeared to know more about Babbage 's Analytical Engine than he himself knew. At the time of Lovelace 's discoveries, women were only just beginning to take part in the scientific world, and her love of mathematics drove her straight into the world of men. Her upbringing, her search for more knowledge, her love of mathematics, and her inherited writing abilities brought to life what we know today as computer programming or computer science.…

    • 2068 Words
    • 9 Pages
    Better Essays
  • Good Essays

    pt1420 assignment 1

    • 728 Words
    • 3 Pages

    Programming language is a vital and essential part of computers. Even though you do not actually see these languages, they are the bases and make up of software programs. Software is essential to a computer because without software, a computer can do nothing. All of the software that we use to make our computers useful is created by individuals known as programmers; these programmers use different types of programming languages to develop software programs. The first primitive programming language was actually created for the invention of the ‘difference engine’. This invention created in 1822 by Charles Babbage was a mechanical calculator that would tabulate polynomial functions.…

    • 728 Words
    • 3 Pages
    Good Essays
  • Good Essays

    As technology developed in the 19th and 20th centuries, ideas on how to code outlined in Ada’s notes on a paper written by Luigi Federico Menabrea were utilized more and more. As biography.com puts it, Ada, “described how codes could be created for the device to handle letters and symbols along with numbers. She also theorized a method for the engine to repeat a series of instructions, a process known as looping..” These are only a few of the revolutionary ideas that Ada Lovelace discussed in her article published in 1843. Nowadays coding is one of the most relevant skills to have and is used in countless businesses, governments, and for everyday use. During world War II, the British government used early computers paired with Ada’s programming system to decode complex Nazi communications. It is reasonable to say that the development of technology has altered our world more than anything else in the past century, and Ada was a huge driving force behind these…

    • 723 Words
    • 3 Pages
    Good Essays
  • Good Essays

    which is the tiny data processor in the computer, and then the program could be written…

    • 1671 Words
    • 7 Pages
    Good Essays
  • Good Essays

    Starting with a growing need to more easily compute numbers and calculations, people have been trying to create a machine of mathematical convenience since the early 1900s. However it wasn’t until 1946 when Professors John Mauchly and J. Presper Eckert successfully built the Electronic Numerical Integrator and Calculator (ENIAC), the world’s first general purpose computer, which cost $500,000 and filled a 20 foot by 40 foot room. And in 1951 Mauchly and Eckert create the UNIVAC, the first business and government applicable commercial computer. From this point the inventions and improvements start to gain speed. In 1954, the FORTRAN computer programming language is born and becomes the first successful high level programming language. And just a few years later in 1958, Jack Kilby and Robert Noyce introduce the integrated circuit, or more commonly known as the computer chip. 1964, Douglas Engelbart presents a computer prototype showcasing the features of a computer mouse and a graphical user interface (GUI), which allows interaction by use of images and icons instead of text commands. This marks the shift of the computer from a machine only marketable to scientists and mathematicians to a technology that is accessible and appealing to the general public. In…

    • 827 Words
    • 4 Pages
    Good Essays
  • Good Essays

    Build A Computer

    • 1781 Words
    • 8 Pages

    So switches too small and too many for person standing front of computer to flip switches. Now computers told what to do or "programmed" by holes in paper tapes or cards. Then by magnetic bits on magnetic tapes, and then on magnetic disks. Also, too many "on/off" for person to understand, so people write programming languages like "Assembly" to make easier to create computer instructions or programs. Then write program called "Assembler" to take "Assembly" instructions and turn it back into the "on/off" instructions that computer…

    • 1781 Words
    • 8 Pages
    Good Essays
  • Powerful Essays

    “To make a computer do anything, you have to write a computer program. To write a computer program, you have to tell the computer, step by step, exactly what you want it to do. The computer then “executes” the program, following each step mechanically, to accomplish the end goal. When you are telling the computer what to do, you also get to choose how it’s going to do it. That’s where computer algorithms come in. The algorithm is the basic technique used to get the job done.”1…

    • 4970 Words
    • 27 Pages
    Powerful Essays
  • Satisfactory Essays

    In first generation computers, the operating instructions or programs were specifically built for the task for which computer was manufactured. The Machine language was the only way to tell these machines to perform the operations. There was great difficulty to program these computers and more when there were some malfunctions. First Generation computers used Vacuum tubes and magnetic drums (for data storage).…

    • 903 Words
    • 4 Pages
    Satisfactory Essays
  • Good Essays

    A long time ago, the daughter of Lord Byron, better known as the Countess Ada King of Lovelace encoded a set of rules to be followed that was to be processed by a device called the Analytical Engine. Thus, Countess Lovelace penned the first source code, which in turn became the first computer program. Today, the source flows around us, penetrates our daily lives, wraps itself around our democratic processes and binds our world together. Every computer system, every computer network, every smart phone and every automated election machine in the world are just glorified paper weights without the Source.…

    • 567 Words
    • 3 Pages
    Good Essays
  • Powerful Essays

    Computer technology has been widely used in different fields, nowadays; computer is the main system that is being used from large and wide scale manufacturing up to small scale industries. The defining feature of modern computers which distinguishes them from all other machines is that they can be programmed. That is to say that some type of instructions (the program) can be given to the computer and it will process them. While some computers may have strange concepts "instructions" and "output", modern computers based on the von Neumann architecture often have machine code in the form of an imperative programming language.…

    • 5904 Words
    • 24 Pages
    Powerful Essays
  • Powerful Essays

    The Art and Science of Java

    • 3909 Words
    • 16 Pages

    1. Babbage’s Analytical Engine introduced the concept of programming to computing. 2. Augusta Ada Byron is generally recognized as the first programmer. The U.S. Department of Defense named the Ada programming language in her honor. 3. The heart of von Neumann architecture is the stored-programming concept, in which both data and programming instructions are stored in the same memory system. 4. Hardware is tangible and comprises the physical parts of a computer; software is intangible and consists of the programs the computer executes. 5. The abstract concept that forms the core of computer science is problem-solving. 6. For a solution technique to be an algorithm, it must be • Clearly and unambiguously defined • Effective, in the sense that its steps are executable • Finite, in the sense that it terminates after a bounded number of steps 7. Algorithmic design refers to the process of designing a solution strategy to fit a particular problem; coding refers to the generally simpler task of representing that solution strategy in a programming language. 8. A higher-level language is a programming language that is designed to be independent of the particular characteristics that differentiate computers and to work instead with general algorithmic concepts that can be implemented on any computer system. The higher-level language used in this text is called Java. 9. Each type of computer has its own machine language, which is different from that used in other computers. The compiler acts as a translator from the higher-level language into the machine language used for a specific machine. 10. A source file contains the actual text of a program and is designed to be edited by people. An object file is created by the compiler and contains a machine-language representation of the program. Most programmers never work directly with object files. 11. A syntax error is a violation of the grammatical rules of the programming…

    • 3909 Words
    • 16 Pages
    Powerful Essays
  • Good Essays

    Charles Babbage, an English mechanical engineer and polymath, originated the concept of a programmable computer. Considered the "father of the computer",[4] he conceptualized and invented the first mechanical computer in the early 19th century. After working on his revolutionary difference engine, designed to aid in navigational calculations, in 1833 he realized that a much more general design, an Analytical Engine, was possible. The input of programs and data was to be provided to the machine via punched cards, a method being used at the time to direct mechanical looms such as the Jacquard loom. For output, the machine would have a printer, a curve plotter and a bell. The machine would also be able to punch numbers onto cards to be read in later. The Engine incorporated an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first design for a general-purpose computer that could be described in modern terms as Turing-complete.[5][6]…

    • 1527 Words
    • 7 Pages
    Good Essays
  • Good Essays

    In the earlier time, at the beginning of programming the “Punch Card“ was used for the programming purpose. Then with the passage of time human tried to work on the binary digits called “Machine Language”.…

    • 996 Words
    • 4 Pages
    Good Essays
  • Powerful Essays

    Computer programmers write programs. After computer software engineers and systems analysts design software programs, the programmer converts that design into a logical series of instructions that the computer can follow. The programmer codes these instructions in any of a number of programming languages, depending on the need. The most common languages are C++ and Python.…

    • 2605 Words
    • 11 Pages
    Powerful Essays