Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolution and History of Programming Languages

Similar presentations


Presentation on theme: "Evolution and History of Programming Languages"— Presentation transcript:

1 Evolution and History of Programming Languages

2 Software Programming Languages

3 History Timeline The Tower of Babel Genesis 11:1-7
Now the whole earth had one language and few words. And as men migrated from the east, they found a plain in the land of Shinar and settled there. And they said to one another, "Come, let us make bricks, and burn them thoroughly." And they had brick for stone, and bitumen for mortar. Then they said, "Come, let us build ourselves a city, and a tower with its top in the heavens, and let us make a name for ourselves, lest we be scattered abroad upon the face of the whole earth." And the Lord came down to see the city which the sons of men had built. And the Lord said, "Behold, they are one people, and they all have one language; and this is only the beginning of what they will do; and nothing that they propose to do will now be impossible for them. "Come, let us go down, and there confuse their language, that they may not understand one another's speech." So the Lord scattered them abroad from there over the face of all the earth, and they left off building the city. Therefore its name was called Babel, because the Lord confused the language of all the earth; and from there the Lord scattered them abroad over the face of all the earth.

4 Evolution of Languages
To build programs, people use languages that are similar to human language. The results are translated into machine code, which computers understand. Programming languages fall into three broad categories: Machine languages Assembly languages Higher-level languages

5 Machine Languages Machine languages (first-generation languages) are the most basic type of computer languages, consisting of strings of numbers the computer's hardware can use. Different types of hardware use different machine code. For example, IBM computers use different machine language than Apple computers.

6 Assembly Languages Assembly languages (second-generation languages) are only somewhat easier to work with than machine languages. To create programs in assembly language, developers use cryptic English-like phrases to represent strings of numbers. The code is then translated into object code, using a translator called an assembler.

7 Assembly code Object code Assembler

8 Higher Level Languages
Higher-level languages are more powerful than assembly language and allow the programmer to work in a more English-like environment. Higher-level programming languages are divided into three "generations," each more powerful than the last: Third-generation languages Fourth-generation languages Fifth-generation languages

9 Third Generation Third-generation languages (3GLs) are the first to use true English-like phrasing, making them easier to use than previous languages. 3GLs are portable, meaning the object code created for one type of system can be translated for use on a different type of system. The following languages are 3GLs: FORTAN C COBOL C++ BASIC Java Pascal ActiveX

10 A Typical C Program Development Environment
Disk Loader Linker Compiler Preprocessor Editor Primary Memory CPU 1. Program is created in the editor and stored on disk 2. Preprocessor program processes the code 3. Compiler creates object code and stores it on disk. 5. Loader puts program in memory. 4. Linker links the object code with the libraries 6. CPU takes each instruction and executes it, possibly storing new data values as the program executes Phases of C Programs: 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute

11 Fourth-Generation Fourth-generation languages (4GLs) are even easier to use than 3GLs. 4GLs may use a text-based environment (like a 3GL) or may allow the programmer to work in a visual environment, using graphical tools. The following languages are 4GLs: Visual Basic (VB) VisualAge Authoring environments

12 Fifth-Generation Fifth-generation languages (5GLs) are an issue of debate in the programming community – some programmers cannot agree that they even exist. These high-level languages would use artificial intelligence to create software, making 5GLs extremely difficult to develop. Solve problems using constraints rather than algorithms, used in Artificial Intelligence Prolog

13 Notable Languages The desire to improve programmer efficiency and to change the focus from the computer to the problem being solved led to the development of high-level languages. Over the years, various languages, most notably BASIC, COBOL, Pascal, Ada, C, C++ and Java, were developed.

14

15 Compiled vs. Interpret A compiler normally translates the whole source program into the object program Some computer languages use an interpreter to translate the source program into the object program. Interpretation refers to the process of translating each line of the source program into the corresponding line of the object program and executing the line.

16 Translation Process Compilation and interpretation differ in that the first translates the whole source code before executing it, while the second translates and executes the source code a line at a time. Both methods, however, follow the same translation process shown below.

17 Paradigms . Today, computer languages are categorized according to the approach they use to solve a problem. A paradigm, therefore, is a way in which a computer language looks at the problem to be solved. We divide computer languages into four paradigms: procedural, object-oriented, functional and declarative.

18

19 Summary


Download ppt "Evolution and History of Programming Languages"

Similar presentations


Ads by Google