Language types Machine and assembly languages A machine language consists of the numeric codes for the operations that a particular computer can execute directly.
Let us look at each of these categories. Machine Language Humans do not like to deal in numbers alone-they prefer letters and words. But, strictly speaking, numbers are what machine language is.
This lowest level of language, machine language, represents data and program instructions as 1s and Os-binary digits corresponding to the on and off electrical states in the computer.
Each type of computer has its own machine language.
In the early days of computing, programmers had rudimentary systems for combining numbers to represent instructions such as add and compare. Primitive by today's standards, the programs were not convenient for people to read and use. The computer industry quickly moved to develop assembly languages.
Assembly Languages Figure 2: Example Assembly Language Program Today, assembly languages are considered very low level-that is, they are not as convenient for people to use as more recent languages.
At the time they were developed, however, they were considered a great leap forward.
To replace the Is and Os used in machine language, assembly languages use mnemonic codes, abbreviations that are easy to remember: Although these codes are not English words, they are still- from the standpoint of human convenience-preferable to numbers Os and 1s alone.
The programmer who uses an assembly language requires a translator to convert the assembly language program into machine language. A translator is needed because machine language is the only language the computer can actually execute. The translator is an assembler program, also referred to as an assembler.
It takes the programs written in assembly language and turns them into machine language. Programmers need not worry about the translating aspect; they need only write programs in assembly language.
The translation is taken care of by the assembler. Although assembly languages represent a step forward, they still have many disadvantages. A key disadvantage is that assembly language is detailed in the extreme, making assembly programming repetitive, tedious, and error prone.
This drawback is apparent in the program in Figure 2. Assembly language may be easier to read than machine language, but it is still tedious. High-Level Languages The first widespread use of high-level languages in the early s transformed programming into something quite different from what it had been.
Programs were written in an English-like manner, thus making them more convenient to use. As a result, a programmer could accomplish more with less effort, and programs could now direct much more complex tasks. These so-called third-generation languages spurred the great increase in data processing that characterized the s and s.
During that time the number of mainframes in use increased from hundreds to tens of thousands. The impact of third-generation languages on our society has been enormous. Of course, a translator is needed to translate the symbolic statements of a high-level language into computer-executable machine language; this translator is usually a compiler.
There are many compilers for each language and one for each type of computer. Keep in mind, however, that even though a given program would be compiled to different machine language versions on different machines, the source program itself-the COBOL version-can be essentially identical on each machine.
Some languages are created to serve a specific purpose, such as controlling industrial robots or creating graphics. Many languages, however, are extraordinarily flexible and are considered to be general-purpose.
In addition to these three, another popular high-level language is C, which we will discuss later. Very High-Level Languages Languages called very high-level languages are often known by their generation number, that is, they are called fourth-generation languages or, more simply, 4GLs.
Definition Will the real fourth-generation languages please stand up? There is no consensus about what constitutes a fourth-generation language. The 4GLs are essentially shorthand programming languages.
An operation that requires hundreds of lines in a third-generation language such as COBOL typically requires only five to ten lines in a 4GL. However, beyond the basic criterion of conciseness, 4GLs are difficult to describe. Characteristics Fourth-generation languages share some characteristics.
The first is that they make a true break with the prior generation-they are basically non-procedural. A procedural language tells the computer how a task is done: Add this, compare that, do this if something is true, and so forth-a very specific step-by-step process.7/17/11 3 © The McGraw-Hill Companies, Inc.
All Rights Reserved.
Discussion Questions! What are the five generation levels of programming languages.
So, a high-level programming language is *sort-of* like English, just one step closer to what the language a computer really understands looks like. Now let's move on to what a computer's native language looks like when it is given a symbolic representation.
Programming languages are said to be "lower" or "higher," depending on how close they are to the language the computer itself uses (Os and 1s = low) or to the language . The history of programming languages is marked by innovations, diversifications, lateral transfers and social influences; moreover, it represents an intermediate case study between the evolution of human languages and the evolution of technology.
Mar 12, · Concepts of Programming Languages – Chapter 2 – Evolution of The Major Programming Languages What hardware capability that first appeared in the IBM computer strongly affected the evolution of programming language?
Explain why. ← Concepts of Programming Languages – Chapter 1 – Preliminaries. In IBM developed Fortran, one of the original computer programming languages, based heavily on mathematics.
During the same decade, the developments of the transistor, integrated circuits and microprogramming led the way for reducing computer size.