SlideShare a Scribd company logo
PROGRAMMING
LANGUAGE
AND
PARADIGMS
First Generation: Machine Languages
The late 1940s to early 1950s saw the emergence of first generation languages (1GL).
They are known as machine languages and use a binary code that consists of strings of
only zeroes (0) and ones (1). These are languages that are computer can understand
and execute directly without any need for translation. Programs written in 1GL
relatively run quickly and efficiently.
Second Generation:
Assembly Languages
In the early mid-1950s, second generation languages (2GL) came out. They usually
refer to some form of symbolic or assembly language – instead of zeroes and ones,
assembly languages use mnemonics or very short words for commands. Compared to
1GL, 2GL is a little less difficult for programmers to learn and use. 1GL and 2GL are
both low-level languages. They are designed to facilitate fast and efficient execution
in computers, without much regard for the convenience of the programmers who use
them
Third Generation:
High-Level Languages
Third generation languages (3GL), also called high-level programming languages,
began to unfold during the mid – to late 1950s. With developments in computer
hardware during this period showing a trend towards a rapid increase in computing
power, developments in programming languages started to shift towards a high-level
language. Most modern computer languages belong here. 3GL introduced the use of
data structures and control structures, which are high-level abstractions of
programming concepts that previously had to be coded directly in low-level
languages.
Fourth Generation:
Declarative Languages
Despite the improved capabilities of 3GL, programming continued to be a slow,
frustrating, and error-prone process. The amount of programming work soon exceeded
the amount of time available for the programmers to do it. Fourth generation
languages (4GL) are more advanced than traditional high-level programming
languages. Commands are usually English-like and do not require traditional input-
process-output logic. They are also referred to as non-procedural specification
languages – a programmer who writes 4GL programs concentrates more on what
needs to be done rather than how to do it.
Fifth Generation: AI
(Artificial Intelligence)
Fifth generation languages (5GL) are basically an outgrowth of artificial intelligence
research from the 1980s. Conventional Languages then rely on algorithms defined by
the programmer to solve problems; the approach is to build a program that implements
a specific algorithm devised by the programmer to address a specific problem. 5GLs
operate on the concept of solving problems based on constraints or rules that have
been declared in the program.
COMPUTER HARDWARE EVOLVED
THROUGH SIMILAR GENERATIONS
1st Generation – Vacuum tubes
2nd Generation – Transistors
3rd Generation – integrated circuits (ICs), small-scale integration (SSI),
medium-scale integration (MSI)
4th Generation – large-scale integration (LSI), very large-scale integration
(VLSI)
5th Generation – Parallel processing architectures
6th Generation – Massively Parallel architectures, parallel/vector architectures
IMPERATIVE PROGRAMMING
Imperative Programming is the oldest and most traditional model of
computing. In a regular, non-programming context, the word “imperative”
refers to a mood essential order or command. Here, it describes computation
in terms of a program state and the actions that change that state. Imperative
languages evolved from machine and assembly languages, whose
characteristics reflect the principle of the von Neumann architecture. The
program consists of explicit command or instruction to be executed
VON NEUMANN
ARCHITECTURE
is the design upon which many general purpose
computers are based. The key elements of von
Neumann architecture are: data and instructions are
both stored as binary digits. data and instructions are
both stored in primary storage.
EXAMPLES OF
IMPERATIVE PROGRAMMING
• Ada
• Fortan
• Basic
• Algol
• Pascal
• Cobol
• Modula
• C
FUNCTIONAL PROGRAMMING
Functional programming is an expression-oriented programming paradigm.
Computations are specified through mathematical function that evaluate
input expressions and convert them into output values. Functional
programming languages are “what” –oriented.
EXAMPLES OF
FUNCTIONAL PROGRAMMING
• Lisp
• Scheme
• FP
• Standard
ML
• Haskell
LOGIC PROGRAMMING
In the logical paradigm, programs are written as logical statements that
describe the properties the solution must have. The program is viewed as a
logical theory and computation is basically the search for proof. It may also
be stated the logic programming is based on the concept of logical deduction
in symbolic logic, or the manipulation of symbols.
EXAMPLES OF
LOGIC PROGRAMMING
• Prolog
• Lambda Prolog
• CLP
• PICAT
OBJECT-ORIENTED PROGRAMMING
In object-oriented programming, data structures are viewed as objects, and
programmers create relationships between these objects. A group of objects
that have the same properties, operations and behaviors is called a class. By
reusing classes developed for the applications, new applications can be
developed faster and with improved reliability and consistency of deisgn
EXAMPLES OF
OBJECT-ORIENTED PROGRAMMING
• Smalltalk
• Simula
• Java
• C++
CONCURRENT AND DISTRIBUTED
PROGRAMMING
Concurrent or parallel programming is a computer programming technique
that allows for the execution of two or more operations at the same time.
Conventional paradigms deal with programming operations in linear fashion
that is from start to finish and in one continuous execution. The idea in
concurrent programming is to split a single task into several smaller subtask
that can run relatively independently of each other
CONCURRENT AND DISTRIBUTED
PROGRAMMING
Parallel programming is effective mainly for programming problems that
can be readily broken down into independent subtasks, such as certain
mathematical problems like factorization. It can be implemented on a single
computer, or across a number of computers. When a multi-processor or
multi-computer platform is used to implement this, we use the term
Distributed programming.
EXAMPLES OF
CONCURRENT AND DISTRIBUTED
PROGRAMMING
• Parallel Pascal
• Concurrent ML

More Related Content

PPTX
Programming language
PDF
Linker and Loader Explained
PPTX
Introduction and brief history of computers
PPTX
Programming Fundamentals lecture 1
PPTX
Data Type in C Programming
PPT
Introduction to computer programming
PPTX
PPTX
Presentation on computer language
Programming language
Linker and Loader Explained
Introduction and brief history of computers
Programming Fundamentals lecture 1
Data Type in C Programming
Introduction to computer programming
Presentation on computer language

What's hot (20)

PPTX
Data types in C
PPTX
Types of system software
PPTX
DOCX
COMPUTERS ( types of viruses)
PPTX
linker & loader presentation in Compiler Design
PPTX
Basic Computer Architecture
PPTX
Introduction to software
PPTX
structured programming
PPTX
Basic programming concepts
PDF
Algorithm and c language
PPT
Chapter 1 - An Introduction to Programming
PPTX
Integrated Development Environments (IDE)
PPT
Computer Programming - Lecture 1
PDF
Computer Programming
PPT
Computer Organization and Architecture.
PPT
Generations Of Programming Languages
PPTX
CPU Architecture - Basic
PPT
Unit 1 program development cycle
PPTX
Computer software
PDF
Computer Software introduction
Data types in C
Types of system software
COMPUTERS ( types of viruses)
linker & loader presentation in Compiler Design
Basic Computer Architecture
Introduction to software
structured programming
Basic programming concepts
Algorithm and c language
Chapter 1 - An Introduction to Programming
Integrated Development Environments (IDE)
Computer Programming - Lecture 1
Computer Programming
Computer Organization and Architecture.
Generations Of Programming Languages
CPU Architecture - Basic
Unit 1 program development cycle
Computer software
Computer Software introduction
Ad

Similar to Programming languages and paradigms (20)

PDF
Ict topic 5
PDF
La5 programming
PPTX
Third and fourth generation programming language
PDF
Programming Part 01
PPTX
Lang generations 7557_syed_ghazanfarnaqvi_saturday
PDF
La5 ict-topic-5-programming
PDF
Notacd071
DOC
Notacd07
DOC
Nota programming
PDF
Programming language evolution and paradigm
PPTX
Introduction to programming
ODP
Programming
PPTX
CSCorganization of programming languages
PPTX
Programming assignment-help at myassignmenthelp.net
PPTX
Chapter 5
PPTX
Chapter 1
PPSX
Ic lecture8
PPTX
Programming lesson1
PPTX
Generation of Computer language by arya dutta (1).pptx
PPTX
Introduction To Computer Programming
Ict topic 5
La5 programming
Third and fourth generation programming language
Programming Part 01
Lang generations 7557_syed_ghazanfarnaqvi_saturday
La5 ict-topic-5-programming
Notacd071
Notacd07
Nota programming
Programming language evolution and paradigm
Introduction to programming
Programming
CSCorganization of programming languages
Programming assignment-help at myassignmenthelp.net
Chapter 5
Chapter 1
Ic lecture8
Programming lesson1
Generation of Computer language by arya dutta (1).pptx
Introduction To Computer Programming
Ad

Recently uploaded (20)

PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Lesson notes of climatology university.
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PPTX
master seminar digital applications in india
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
01-Introduction-to-Information-Management.pdf
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Types and Its function , kingdom of life
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
202450812 BayCHI UCSC-SV 20250812 v17.pptx
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Computing-Curriculum for Schools in Ghana
Weekly quiz Compilation Jan -July 25.pdf
Anesthesia in Laparoscopic Surgery in India
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Lesson notes of climatology university.
Supply Chain Operations Speaking Notes -ICLT Program
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
master seminar digital applications in india
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
Practical Manual AGRO-233 Principles and Practices of Natural Farming
01-Introduction-to-Information-Management.pdf
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Classroom Observation Tools for Teachers
Cell Types and Its function , kingdom of life
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf

Programming languages and paradigms

  • 2. First Generation: Machine Languages The late 1940s to early 1950s saw the emergence of first generation languages (1GL). They are known as machine languages and use a binary code that consists of strings of only zeroes (0) and ones (1). These are languages that are computer can understand and execute directly without any need for translation. Programs written in 1GL relatively run quickly and efficiently.
  • 3. Second Generation: Assembly Languages In the early mid-1950s, second generation languages (2GL) came out. They usually refer to some form of symbolic or assembly language – instead of zeroes and ones, assembly languages use mnemonics or very short words for commands. Compared to 1GL, 2GL is a little less difficult for programmers to learn and use. 1GL and 2GL are both low-level languages. They are designed to facilitate fast and efficient execution in computers, without much regard for the convenience of the programmers who use them
  • 4. Third Generation: High-Level Languages Third generation languages (3GL), also called high-level programming languages, began to unfold during the mid – to late 1950s. With developments in computer hardware during this period showing a trend towards a rapid increase in computing power, developments in programming languages started to shift towards a high-level language. Most modern computer languages belong here. 3GL introduced the use of data structures and control structures, which are high-level abstractions of programming concepts that previously had to be coded directly in low-level languages.
  • 5. Fourth Generation: Declarative Languages Despite the improved capabilities of 3GL, programming continued to be a slow, frustrating, and error-prone process. The amount of programming work soon exceeded the amount of time available for the programmers to do it. Fourth generation languages (4GL) are more advanced than traditional high-level programming languages. Commands are usually English-like and do not require traditional input- process-output logic. They are also referred to as non-procedural specification languages – a programmer who writes 4GL programs concentrates more on what needs to be done rather than how to do it.
  • 6. Fifth Generation: AI (Artificial Intelligence) Fifth generation languages (5GL) are basically an outgrowth of artificial intelligence research from the 1980s. Conventional Languages then rely on algorithms defined by the programmer to solve problems; the approach is to build a program that implements a specific algorithm devised by the programmer to address a specific problem. 5GLs operate on the concept of solving problems based on constraints or rules that have been declared in the program.
  • 7. COMPUTER HARDWARE EVOLVED THROUGH SIMILAR GENERATIONS 1st Generation – Vacuum tubes 2nd Generation – Transistors 3rd Generation – integrated circuits (ICs), small-scale integration (SSI), medium-scale integration (MSI) 4th Generation – large-scale integration (LSI), very large-scale integration (VLSI) 5th Generation – Parallel processing architectures 6th Generation – Massively Parallel architectures, parallel/vector architectures
  • 8. IMPERATIVE PROGRAMMING Imperative Programming is the oldest and most traditional model of computing. In a regular, non-programming context, the word “imperative” refers to a mood essential order or command. Here, it describes computation in terms of a program state and the actions that change that state. Imperative languages evolved from machine and assembly languages, whose characteristics reflect the principle of the von Neumann architecture. The program consists of explicit command or instruction to be executed
  • 9. VON NEUMANN ARCHITECTURE is the design upon which many general purpose computers are based. The key elements of von Neumann architecture are: data and instructions are both stored as binary digits. data and instructions are both stored in primary storage.
  • 10. EXAMPLES OF IMPERATIVE PROGRAMMING • Ada • Fortan • Basic • Algol • Pascal • Cobol • Modula • C
  • 11. FUNCTIONAL PROGRAMMING Functional programming is an expression-oriented programming paradigm. Computations are specified through mathematical function that evaluate input expressions and convert them into output values. Functional programming languages are “what” –oriented.
  • 12. EXAMPLES OF FUNCTIONAL PROGRAMMING • Lisp • Scheme • FP • Standard ML • Haskell
  • 13. LOGIC PROGRAMMING In the logical paradigm, programs are written as logical statements that describe the properties the solution must have. The program is viewed as a logical theory and computation is basically the search for proof. It may also be stated the logic programming is based on the concept of logical deduction in symbolic logic, or the manipulation of symbols.
  • 14. EXAMPLES OF LOGIC PROGRAMMING • Prolog • Lambda Prolog • CLP • PICAT
  • 15. OBJECT-ORIENTED PROGRAMMING In object-oriented programming, data structures are viewed as objects, and programmers create relationships between these objects. A group of objects that have the same properties, operations and behaviors is called a class. By reusing classes developed for the applications, new applications can be developed faster and with improved reliability and consistency of deisgn
  • 16. EXAMPLES OF OBJECT-ORIENTED PROGRAMMING • Smalltalk • Simula • Java • C++
  • 17. CONCURRENT AND DISTRIBUTED PROGRAMMING Concurrent or parallel programming is a computer programming technique that allows for the execution of two or more operations at the same time. Conventional paradigms deal with programming operations in linear fashion that is from start to finish and in one continuous execution. The idea in concurrent programming is to split a single task into several smaller subtask that can run relatively independently of each other
  • 18. CONCURRENT AND DISTRIBUTED PROGRAMMING Parallel programming is effective mainly for programming problems that can be readily broken down into independent subtasks, such as certain mathematical problems like factorization. It can be implemented on a single computer, or across a number of computers. When a multi-processor or multi-computer platform is used to implement this, we use the term Distributed programming.
  • 19. EXAMPLES OF CONCURRENT AND DISTRIBUTED PROGRAMMING • Parallel Pascal • Concurrent ML