Evolution and History of
Programming Languages
Software Programming
Languages
History Timeline
• Machine languages
• Assembly languages
• Higher-level 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:
Evolution of 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.
Machine 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.
Assembly Languages
Assembler
Assembly
code
Object code
• Third-generation languages
• Fourth-generation languages
• Fifth-generation 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:
Higher Level Languages
FORTAN C
COBOL C++
BASIC Java
Pascal ActiveX
• 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:
Third Generation
A Typical C Program Development Environment
1. Edit
2. Preprocess
3. Compile
4. Link
5. Load
6. Execute
Disk
Disk
Loader
Linker
Compiler
Preprocessor
Editor
Disk
Disk
Disk
Primary Memory
CPU
Primary Memory
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:
Visual Basic (VB)
VisualAge
Authoring environments
• 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:
Fourth-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
Fifth-Generation
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.
9.13
9.14
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.
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.
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.
9.17
.
9.18
Summary

evolution of programming.ppt

  • 1.
    Evolution and Historyof Programming Languages
  • 2.
  • 3.
  • 4.
    • Machine languages •Assembly languages • Higher-level 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: Evolution of Languages
  • 5.
    • 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. Machine Languages
  • 6.
    • 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. Assembly Languages
  • 7.
  • 8.
    • Third-generation languages •Fourth-generation languages • Fifth-generation 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: Higher Level Languages
  • 9.
    FORTAN C COBOL C++ BASICJava Pascal ActiveX • 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: Third Generation
  • 10.
    A Typical CProgram Development Environment 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Disk Disk Loader Linker Compiler Preprocessor Editor Disk Disk Disk Primary Memory CPU Primary Memory 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:
  • 11.
    Visual Basic (VB) VisualAge Authoringenvironments • 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: Fourth-Generation
  • 12.
    • 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 Fifth-Generation
  • 13.
    Notable Languages  Thedesire 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. 9.13
  • 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  Compilationand 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, computerlanguages 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. 9.17 .
  • 18.
  • 19.