SlideShare a Scribd company logo
1 of 19
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

What's hot

Programming languages
Programming languagesProgramming languages
Programming languagesSimon Mui
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming LanguageAhmad Idrees
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler DesignKuppusamy P
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingNeeru Mittal
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...SHUBHAM PATIDAR FISHERIES ADDAA
 
BCS 100: Introduction to Computer Science Lesson 3
BCS 100: Introduction to Computer Science Lesson 3BCS 100: Introduction to Computer Science Lesson 3
BCS 100: Introduction to Computer Science Lesson 3Ndubi Amos
 
Programming Languages / Translators
Programming Languages / TranslatorsProgramming Languages / Translators
Programming Languages / TranslatorsProject Student
 
Fundamentals of programming final
Fundamentals of programming finalFundamentals of programming final
Fundamentals of programming finalRicky Recto
 
Machine Level Language
Machine Level LanguageMachine Level Language
Machine Level LanguageSundar Acharya
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer ProgrammingHussain Buksh
 
basics of compiler design
basics of compiler designbasics of compiler design
basics of compiler designPreeti Katiyar
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Operating system components
Operating system componentsOperating system components
Operating system componentsSyed Zaid Irshad
 
Classification of Compilers
Classification of CompilersClassification of Compilers
Classification of CompilersSarmad Ali
 

What's hot (20)

Programming languages
Programming languagesProgramming languages
Programming languages
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Programming in c
Programming in cProgramming in c
Programming in c
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Unit 2. Elements of C
Unit 2. Elements of CUnit 2. Elements of C
Unit 2. Elements of C
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...
 
Computer Programming - Lecture 1
Computer Programming - Lecture 1Computer Programming - Lecture 1
Computer Programming - Lecture 1
 
BCS 100: Introduction to Computer Science Lesson 3
BCS 100: Introduction to Computer Science Lesson 3BCS 100: Introduction to Computer Science Lesson 3
BCS 100: Introduction to Computer Science Lesson 3
 
Programming Languages / Translators
Programming Languages / TranslatorsProgramming Languages / Translators
Programming Languages / Translators
 
Fundamentals of programming final
Fundamentals of programming finalFundamentals of programming final
Fundamentals of programming final
 
Machine Level Language
Machine Level LanguageMachine Level Language
Machine Level Language
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer Programming
 
Ca basic computer organization
Ca basic computer organizationCa basic computer organization
Ca basic computer organization
 
basics of compiler design
basics of compiler designbasics of compiler design
basics of compiler design
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Operating system components
Operating system componentsOperating system components
Operating system components
 
Classification of Compilers
Classification of CompilersClassification of Compilers
Classification of Compilers
 

Similar to Programming languages and paradigms

Third and fourth generation programming language
Third and fourth generation programming languageThird and fourth generation programming language
Third and fourth generation programming languageomeed
 
Lang generations 7557_syed_ghazanfarnaqvi_saturday
Lang generations 7557_syed_ghazanfarnaqvi_saturdayLang generations 7557_syed_ghazanfarnaqvi_saturday
Lang generations 7557_syed_ghazanfarnaqvi_saturdaySyed Naqvi
 
La5 ict-topic-5-programming
La5 ict-topic-5-programmingLa5 ict-topic-5-programming
La5 ict-topic-5-programmingAzmiah Mahmud
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingGwyneth Calica
 
CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languagesOluwafolakeOjo
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netwww.myassignmenthelp.net
 
Programming lesson1
Programming lesson1Programming lesson1
Programming lesson1camfollower
 
Generation of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptxGeneration of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptxAryaDutta4
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxChewe Lulembo
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 

Similar to Programming languages and paradigms (20)

Ict topic 5
Ict topic 5Ict topic 5
Ict topic 5
 
La5 programming
La5  programmingLa5  programming
La5 programming
 
Third and fourth generation programming language
Third and fourth generation programming languageThird and fourth generation programming language
Third and fourth generation programming language
 
Programming Part 01
Programming Part 01Programming Part 01
Programming Part 01
 
Lang generations 7557_syed_ghazanfarnaqvi_saturday
Lang generations 7557_syed_ghazanfarnaqvi_saturdayLang generations 7557_syed_ghazanfarnaqvi_saturday
Lang generations 7557_syed_ghazanfarnaqvi_saturday
 
La5 ict-topic-5-programming
La5 ict-topic-5-programmingLa5 ict-topic-5-programming
La5 ict-topic-5-programming
 
Notacd071
Notacd071Notacd071
Notacd071
 
Notacd07
Notacd07Notacd07
Notacd07
 
Nota programming
Nota programmingNota programming
Nota programming
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Programming
ProgrammingProgramming
Programming
 
CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languages
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.net
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Ic lecture8
Ic lecture8 Ic lecture8
Ic lecture8
 
Programming lesson1
Programming lesson1Programming lesson1
Programming lesson1
 
Generation of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptxGeneration of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptx
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptx
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 

Recently uploaded

AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 

Recently uploaded (20)

AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 

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