SlideShare ist ein Scribd-Unternehmen logo
1 von 27
PROGRAMMING PARADIGM
BY,
Anirudh Chauhan
Introduction to programming paradigm
Introduction
 A way of conceptualizing what it means to perform
computation and how tasks to be carried out on the
computer should be structured and organized.
 A programming paradigm is a fundamental style of
computer programming, serving as a way of building the
structure and elements of computer programs
Introduction
 Some languages are designed to support one
particular paradigm
 Smalltalk supports object-oriented programming
 Haskell supports functional programming
 Other programming languages support multiple
paradigms
 Object Pascal, C++, C#, Visual Basic, Common Lisp,
Scheme, Perl, Python, Ruby, Oz and F#.
Introduction
Programming paradigms differ in:
The concepts and abstractions used to
represent the elements of a program
(such as objects, functions, variables,
constraints, etc.)
The steps that compose a computation
(assignation, evaluation, data flow, control
flow, etc.).
Programming Paradigms
Programming paradigms
 There are four main Programming Paradigms.
Imperative : Machine-model based
Functional : Equations; Expression
Evaluation
Logical : First-order Logic Deduction
Object-Oriented : Programming with Data
Types
Why study so many programming languages ?
 To Improve our ability to Develop Effective algorithms.
 To improve Use of Existing Programming Languages.
 To allow a better choice of Programming Language.
 To make it Easier to design a new language.
Procedural Programming
Procedural Programming
 Often thought as a synonym for imperative
programming.
 Specifying the steps the program must take
to reach the desired state.
 Based upon the concept of the procedure
call.
Procedural Programming
 Procedures, also known as routines, subroutines, methods,
or functions that contain a series of computational steps to
be carried out.
 Any given procedure might be called at any point during a
program's execution, including by other procedures or itself.
 The syntax of such languages generally has the form
statement 1;
statement 2;
--------------
statement n;
Procedural Programming
 Often a better choice than simple sequential or
unstructured programming in many situations
which involve moderate complexity or require
significant ease of maintainability.
 The ability to re-use the same code at different
places in the program without copying it.
Procedural Programming
 An easier way to keep track of program flow than a collection of
"GOTO" or "JUMP" statements .
 The ability to be strongly modular or structured.
 Example of procedural programming are C, Pascal, Basic, FORTRAN
etc.
Functional Programming
Functional Programming
 Functional programming is a programming paradigm that
treats computation as the evaluation of mathematical
functions and avoids state changes and mutable data.
 Programs written using the functional programming
paradigm are much more easily representable using
mathematical concepts, and thus it is much more easy to
mathematically reason about functional programs than it is
to reason about programs written in any other paradigm.
Functional Programming
 The syntax of such languages is :
functionn { …function2 { function1 (data)} …}
 LISP was the first operational functional programming
language.
 The Haskell programming language was released in the
late 1980s in an attempt to gather together many ideas in
functional programming research.
 Up to this day, functional programming has not been very
popular except for a restricted number of application areas,
such as artificial intelligence.
Functional Programming
 In practice, the difference between a mathematical function
and the notion of a "function" used in imperative
programming is that imperative functions can have side
effects, changing the value of already calculated variables.
 Conversely, in functional code, the output value of a
function depends only on the arguments that are input to
the function, so calling a function f twice with the same
value for an argument x will produce the same result f(x)
both times.
 Examples of Functional Programming are C, LISP, ML .
Imperative Vs Non Imperative
Imperative VS non imperative
 Functional/Logic programs specify WHAT is to be computed
abstractly, leaving the details of data organization and
instruction sequencing to the interpreter.
 In contrast, Imperative programs describe
the details of HOW the results are to be obtained, in terms of
the underlying machine model.
 Functional/Logic style clearly separates WHAT aspects of a
program (programmers’ responsibility) from the HOW aspects
(implementation decisions).
 An Imperative program contains both the specification and the
implementation details, inseparably inter-twined.
Imperative VS Non Imperative
Imperative
• Program: a
sequence of
instructions for a von
Neumann m/c.
• Computation by
instruction execution.
• Iteration.
• Modifiable or
updateable variables.
Non imperative
• Program: a collection
of function definitions
(m/c independent).
• Computation by term
rewriting.
• Recursion.
• Assign-only-once
variables.
Logical Programming
Logical Programming
 Also known as Rule based programming
and Declarative programming.
 Rule based programming checks for
presence for a certain condition and when
present execute an appropriate action.
Logical Programming
 We can describe rule-based languages as a set of filters to
apply to data storage. Enabling conditions determine order
of execution. The syntax of such Languages generally is
similar to the following.
enabling condition1→action1
enabling condition2→action2
..........................
enabling conditionn→actionn
 Some examples of logical programming languages are
Prolog, Ant, Oz, SQL etc.
Object Oriented Programming
Object Oriented Programming
 Object-oriented programming (OOP) is a programming
paradigm that uses "objects" – data structures
encapsulating data fields and procedures together with their
interactions – to design applications and computer
programs.
 Associated programming techniques may include features
such as data abstraction, encapsulation, modularity,
polymorphism, and inheritance.
Object oriented programming
 Though it was invented with the creation of the Simula
language in 1965, and further developed in Smalltalk in the
1970s, it was not commonly used in mainstream software
application development until the early 1990s.
 Many modern programming languages now support OOP.
 Examples of Object oriented Programming are C++, java,
Smalltalk, simula etc.
Thank You for your
consideration

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
If else statement in c++
If else statement in c++If else statement in c++
If else statement in c++
 
C++ programming
C++ programmingC++ programming
C++ programming
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
C functions
C functionsC functions
C functions
 
Introduction to oops concepts
Introduction to oops conceptsIntroduction to oops concepts
Introduction to oops concepts
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Looping statements in Java
Looping statements in JavaLooping statements in Java
Looping statements in Java
 
Passes of Compiler.pptx
Passes of Compiler.pptxPasses of Compiler.pptx
Passes of Compiler.pptx
 
Basic concept of OOP's
Basic concept of OOP'sBasic concept of OOP's
Basic concept of OOP's
 
Object Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesObject Oriented Programming Lecture Notes
Object Oriented Programming Lecture Notes
 
Compiler design
Compiler designCompiler design
Compiler design
 
Functions in c++
Functions in c++Functions in c++
Functions in c++
 
Switch Case in C Programming
Switch Case in C ProgrammingSwitch Case in C Programming
Switch Case in C Programming
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Programming Fundamentals
Programming FundamentalsProgramming Fundamentals
Programming Fundamentals
 
Phases of Compiler
Phases of CompilerPhases of Compiler
Phases of Compiler
 
High level and Low level Language
High level and Low level Language High level and Low level Language
High level and Low level Language
 
POP vs OOP Introduction
POP vs OOP IntroductionPOP vs OOP Introduction
POP vs OOP Introduction
 
Fundamentals of Programming Constructs.pptx
Fundamentals of  Programming Constructs.pptxFundamentals of  Programming Constructs.pptx
Fundamentals of Programming Constructs.pptx
 

Andere mochten auch

Programming Paradigms Which One Is The Best?
Programming Paradigms Which One Is The Best?Programming Paradigms Which One Is The Best?
Programming Paradigms Which One Is The Best?Netguru
 
The next 2500 days
The next 2500 daysThe next 2500 days
The next 2500 daysKevin Feenan
 
Imperative programming
Imperative programmingImperative programming
Imperative programmingEdward Blurock
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigmBhavin Kamani
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Functional Programming Fundamentals
Functional Programming FundamentalsFunctional Programming Fundamentals
Functional Programming FundamentalsShahriar Hyder
 
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)joegilbert
 
Class 24: Imperative Programming
Class 24: Imperative ProgrammingClass 24: Imperative Programming
Class 24: Imperative ProgrammingDavid Evans
 
الاختراقت
الاختراقتالاختراقت
الاختراقتacc
 
Штангілі терең сорапты қондырғы
Штангілі терең сорапты қондырғыШтангілі терең сорапты қондырғы
Штангілі терең сорапты қондырғыBilim All
 
Ignite Speech
Ignite SpeechIgnite Speech
Ignite Speechblee2k15
 

Andere mochten auch (17)

Programming Paradigms Which One Is The Best?
Programming Paradigms Which One Is The Best?Programming Paradigms Which One Is The Best?
Programming Paradigms Which One Is The Best?
 
Paradigm 1218656614474137 8
Paradigm 1218656614474137 8Paradigm 1218656614474137 8
Paradigm 1218656614474137 8
 
The next 2500 days
The next 2500 daysThe next 2500 days
The next 2500 days
 
Imperative programming
Imperative programmingImperative programming
Imperative programming
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigm
 
Overview of programming paradigms
Overview of programming paradigmsOverview of programming paradigms
Overview of programming paradigms
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
IT Security Strategy
IT Security StrategyIT Security Strategy
IT Security Strategy
 
Paradigms
ParadigmsParadigms
Paradigms
 
Functional Programming Fundamentals
Functional Programming FundamentalsFunctional Programming Fundamentals
Functional Programming Fundamentals
 
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
 
Class 24: Imperative Programming
Class 24: Imperative ProgrammingClass 24: Imperative Programming
Class 24: Imperative Programming
 
الاختراقت
الاختراقتالاختراقت
الاختراقت
 
Elements of functional programming
Elements of functional programmingElements of functional programming
Elements of functional programming
 
rancang bangun NIIBP
rancang bangun NIIBPrancang bangun NIIBP
rancang bangun NIIBP
 
Штангілі терең сорапты қондырғы
Штангілі терең сорапты қондырғыШтангілі терең сорапты қондырғы
Штангілі терең сорапты қондырғы
 
Ignite Speech
Ignite SpeechIgnite Speech
Ignite Speech
 

Ähnlich wie Prgramming paradigms

CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languagesOluwafolakeOjo
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
PCCF UNIT 2 CLASS.pptx
PCCF UNIT 2 CLASS.pptxPCCF UNIT 2 CLASS.pptx
PCCF UNIT 2 CLASS.pptxvishnupriyapm4
 
OOP Comparative Study
OOP Comparative StudyOOP Comparative Study
OOP Comparative StudyDarren Tan
 
Basic concepts of parallelization
Basic concepts of parallelizationBasic concepts of parallelization
Basic concepts of parallelizationsnegacmr
 
program development and paradigms
program development and paradigmsprogram development and paradigms
program development and paradigmskasenerd
 
Ppt about programming in methodology
Ppt about programming in methodology Ppt about programming in methodology
Ppt about programming in methodology Vaishnavirakshe2
 
PCCF UNIT 2.pptx
PCCF UNIT 2.pptxPCCF UNIT 2.pptx
PCCF UNIT 2.pptxDivyaKS12
 
Doppl Development Introduction
Doppl Development IntroductionDoppl Development Introduction
Doppl Development IntroductionDiego Perini
 
Unit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxUnit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxAsst.prof M.Gokilavani
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answersmkengkilili2011
 
PCCF-UNIT 2-1 new.docx
PCCF-UNIT 2-1 new.docxPCCF-UNIT 2-1 new.docx
PCCF-UNIT 2-1 new.docxprakashvs7
 
Programming languages and paradigms
Programming languages and paradigmsProgramming languages and paradigms
Programming languages and paradigmsJohn Paul Hallasgo
 
La 5 Programming1
La 5   Programming1La 5   Programming1
La 5 Programming1Cma Mohd
 

Ähnlich wie Prgramming paradigms (20)

CSCorganization of programming languages
CSCorganization of programming languagesCSCorganization of programming languages
CSCorganization of programming languages
 
Training 8051Report
Training 8051ReportTraining 8051Report
Training 8051Report
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Programming
ProgrammingProgramming
Programming
 
PCCF UNIT 2 CLASS.pptx
PCCF UNIT 2 CLASS.pptxPCCF UNIT 2 CLASS.pptx
PCCF UNIT 2 CLASS.pptx
 
Unit 1
Unit 1Unit 1
Unit 1
 
JAVA
JAVAJAVA
JAVA
 
OOP Comparative Study
OOP Comparative StudyOOP Comparative Study
OOP Comparative Study
 
Basic concepts of parallelization
Basic concepts of parallelizationBasic concepts of parallelization
Basic concepts of parallelization
 
program development and paradigms
program development and paradigmsprogram development and paradigms
program development and paradigms
 
Ppt about programming in methodology
Ppt about programming in methodology Ppt about programming in methodology
Ppt about programming in methodology
 
PCCF UNIT 2.pptx
PCCF UNIT 2.pptxPCCF UNIT 2.pptx
PCCF UNIT 2.pptx
 
Doppl Development Introduction
Doppl Development IntroductionDoppl Development Introduction
Doppl Development Introduction
 
Unit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxUnit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptx
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answer
 
PCCF-UNIT 2-1 new.docx
PCCF-UNIT 2-1 new.docxPCCF-UNIT 2-1 new.docx
PCCF-UNIT 2-1 new.docx
 
Programming languages and paradigms
Programming languages and paradigmsProgramming languages and paradigms
Programming languages and paradigms
 
Oop.pptx
Oop.pptxOop.pptx
Oop.pptx
 
La 5 Programming1
La 5   Programming1La 5   Programming1
La 5 Programming1
 

Kürzlich hochgeladen

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 

Kürzlich hochgeladen (20)

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 

Prgramming paradigms

  • 3. Introduction  A way of conceptualizing what it means to perform computation and how tasks to be carried out on the computer should be structured and organized.  A programming paradigm is a fundamental style of computer programming, serving as a way of building the structure and elements of computer programs
  • 4. Introduction  Some languages are designed to support one particular paradigm  Smalltalk supports object-oriented programming  Haskell supports functional programming  Other programming languages support multiple paradigms  Object Pascal, C++, C#, Visual Basic, Common Lisp, Scheme, Perl, Python, Ruby, Oz and F#.
  • 5. Introduction Programming paradigms differ in: The concepts and abstractions used to represent the elements of a program (such as objects, functions, variables, constraints, etc.) The steps that compose a computation (assignation, evaluation, data flow, control flow, etc.).
  • 7. Programming paradigms  There are four main Programming Paradigms. Imperative : Machine-model based Functional : Equations; Expression Evaluation Logical : First-order Logic Deduction Object-Oriented : Programming with Data Types
  • 8. Why study so many programming languages ?  To Improve our ability to Develop Effective algorithms.  To improve Use of Existing Programming Languages.  To allow a better choice of Programming Language.  To make it Easier to design a new language.
  • 10. Procedural Programming  Often thought as a synonym for imperative programming.  Specifying the steps the program must take to reach the desired state.  Based upon the concept of the procedure call.
  • 11. Procedural Programming  Procedures, also known as routines, subroutines, methods, or functions that contain a series of computational steps to be carried out.  Any given procedure might be called at any point during a program's execution, including by other procedures or itself.  The syntax of such languages generally has the form statement 1; statement 2; -------------- statement n;
  • 12. Procedural Programming  Often a better choice than simple sequential or unstructured programming in many situations which involve moderate complexity or require significant ease of maintainability.  The ability to re-use the same code at different places in the program without copying it.
  • 13. Procedural Programming  An easier way to keep track of program flow than a collection of "GOTO" or "JUMP" statements .  The ability to be strongly modular or structured.  Example of procedural programming are C, Pascal, Basic, FORTRAN etc.
  • 15. Functional Programming  Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state changes and mutable data.  Programs written using the functional programming paradigm are much more easily representable using mathematical concepts, and thus it is much more easy to mathematically reason about functional programs than it is to reason about programs written in any other paradigm.
  • 16. Functional Programming  The syntax of such languages is : functionn { …function2 { function1 (data)} …}  LISP was the first operational functional programming language.  The Haskell programming language was released in the late 1980s in an attempt to gather together many ideas in functional programming research.  Up to this day, functional programming has not been very popular except for a restricted number of application areas, such as artificial intelligence.
  • 17. Functional Programming  In practice, the difference between a mathematical function and the notion of a "function" used in imperative programming is that imperative functions can have side effects, changing the value of already calculated variables.  Conversely, in functional code, the output value of a function depends only on the arguments that are input to the function, so calling a function f twice with the same value for an argument x will produce the same result f(x) both times.  Examples of Functional Programming are C, LISP, ML .
  • 18. Imperative Vs Non Imperative
  • 19. Imperative VS non imperative  Functional/Logic programs specify WHAT is to be computed abstractly, leaving the details of data organization and instruction sequencing to the interpreter.  In contrast, Imperative programs describe the details of HOW the results are to be obtained, in terms of the underlying machine model.  Functional/Logic style clearly separates WHAT aspects of a program (programmers’ responsibility) from the HOW aspects (implementation decisions).  An Imperative program contains both the specification and the implementation details, inseparably inter-twined.
  • 20. Imperative VS Non Imperative Imperative • Program: a sequence of instructions for a von Neumann m/c. • Computation by instruction execution. • Iteration. • Modifiable or updateable variables. Non imperative • Program: a collection of function definitions (m/c independent). • Computation by term rewriting. • Recursion. • Assign-only-once variables.
  • 22. Logical Programming  Also known as Rule based programming and Declarative programming.  Rule based programming checks for presence for a certain condition and when present execute an appropriate action.
  • 23. Logical Programming  We can describe rule-based languages as a set of filters to apply to data storage. Enabling conditions determine order of execution. The syntax of such Languages generally is similar to the following. enabling condition1→action1 enabling condition2→action2 .......................... enabling conditionn→actionn  Some examples of logical programming languages are Prolog, Ant, Oz, SQL etc.
  • 25. Object Oriented Programming  Object-oriented programming (OOP) is a programming paradigm that uses "objects" – data structures encapsulating data fields and procedures together with their interactions – to design applications and computer programs.  Associated programming techniques may include features such as data abstraction, encapsulation, modularity, polymorphism, and inheritance.
  • 26. Object oriented programming  Though it was invented with the creation of the Simula language in 1965, and further developed in Smalltalk in the 1970s, it was not commonly used in mainstream software application development until the early 1990s.  Many modern programming languages now support OOP.  Examples of Object oriented Programming are C++, java, Smalltalk, simula etc.
  • 27. Thank You for your consideration