This document discusses four main programming paradigms: object-oriented, imperative, functional, and logic. It defines what a programming paradigm is and how it influences language design. For each paradigm it provides a key characteristic, example use cases, and what problems it is best suited for. The object-oriented paradigm views everything as objects, the imperative views problems as sequences of steps, functional views problems as expressions and functions, and logic views problems through predicate calculus. The document emphasizes that different paradigms are suited for different problems and learning multiple allows programmers to choose the best approach. It provides an overview to introduce the basic concepts of major programming paradigms.
In this document
Powered by AI
Introduction to programming paradigms with an outline of 4 main types and learning objectives.
Discusses solution strategies in two paradigms for assignment problems among students.
Contrasting left-brain analytical and right-brain intuitive thinking styles influencing paradigms.
Defines programming paradigms and differences with programming languages, highlighting their influence.
Explains the necessity of different paradigms in addressing various programming problems.
Describes Object-Oriented Paradigm characteristics like abstraction, encapsulation, and questioning its universal applicability.
Describes the Imperative Paradigm's structure with an analogy to cooking, focusing on command order.
Explains the Functional Paradigm with a focus on expressions, compositionality, and reducing complexity.
Details the Logic Paradigm as predicate calculus, focusing on its role in AI solutions and problem-solving.
Highlights learning objectives including identifying paradigms and applicable programming languages.
Outlines research plans focusing on advantages, disadvantages, and case studies in programming paradigms.
Summarizes key takeaways from the presentation.
Thanks participants for attending and solicits feedback through a survey.
A programming paradigmis a framework that define how the user conceptualized and interpret complex problems. Paradigm ASolution:AProblem:Create a calculator program Solution:BParadigm BProgramming Paradigm
6.
Paradigms VsLanguagesProgramming Paradigm:A programming paradigm is an approach to programming a computer based on a mathematical theory or a coherent set of principles.Programming language:A programming language is a tool for developing executable models for a class of problem domains.6In general, programming paradigms influence language design.
Best for problemswith a large number of related data abstractions organized in a hierarchyObject-Oriented Paradigm9Human“Alice”Name:Gender:Size:Eue _colour:Shopping()AnimalBuilding“Bob”
16.
Object-Oriented ParadigmQuestion:Is Object-Orientedthe best paradigm for solving every problems?If so, there wouldn’t be a need for other paradigm…calSal()Find the payroll of the salaries for all the employee in the companyEmployee 1getSal()return amt1Company sumAll()calSal()getSal()Overheads!!return amt1Employee 10000
17.
Imperative Paradigm 11Analogy:Cookinga cup noodlesOrder of Commands is Important!!View everything as “a sequence of steps to perform”Characterized By
Best for expressingalgorithms and the most common paradigm in use todayFunctional Paradigm12Resulting ValueAn ExpressionAnother ExpressionUsed ByEvaluatesEvaluatesView everything as “functions”
Best for abstractingand reducing complexity in programming task with noside effectsLogic Paradigm13Object-OrientedImperativeFunctionalLogicAutomatedSearchList all programming paradigmsAnswer a question via search for a solutionView everything as “Predicate Calculus”
Best for solvingproblems in artificial intelligence such as medical diagnosis, fault finding in equipment and robot controlLearning ObjectiveEach paradigm has its place