Online Mind Mapping and Brainstorming

Create your own awesome maps

Online Mind Mapping and Brainstorming

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account? Log In

Programming Paradigms by Mind Map: Programming Paradigms
5.0 stars - 1 reviews range from 0 to 5

Programming Paradigms

**A programming paradigm refers to a way of conceptualizing and structuring the tasks a computer performs

Event-Driven Paradigm

Description: -Visual development enviornments have spawned an approach to programming that is sometimes referred to as the event-driven paradigm -A programmer develops a program by selecting user interface elements and specifying event-handling routines -This event-driven paradigm can significantly reduce development time and simplify the entire programming process -Focuses on selecting user interface elements and defining event-handling routines that are triggered by various mouse or keyboard activities

Languages: -Visual Basic: Windows-based software development kit created by Microsoft in the early 1990s designed for developing Windows-based applications -C#: language derived from C that provide object-oriented capabilities

Problems Suited for the Paradigm: -A computer program must be tested to ensure that it works correctly -Testing often consists of running the program and entering test data to see whether the program produces correct results -When a program doesn't work correctly, is it usually the result of an error made by the programmer

Advantages/Disadvantages: -When a program doesn't work correctly, it must be fixed and then the program must be tested again and again until it runs error-free

Procedural Paradigm

Description: -Traditional approach to programming to conceptualize the solution to a problem as a sequence of steps -Also called imperative paradigm -Programs detail how to solve a problem -A program written in a procedural language typically consists of self-contained instructions in a sequence that indicates how a task is to be performed or a problem is to be solved

Languages: -A programming language that supports the procedural paradigm is called a procedural language -Machine languages, assembly languages, COBOL, Fortran, C, and many other third-generation languages are classified as procedural languages -Well suited for problems that can be easily solved with linear, or step-by-step, algorithm

Problems Suited for the Paradigm: -The procedural approach is best used for problems that can be solved following a step-by-step algorithm -One of the original problems tackled by computers was computing missile trajectories -The procedural approach has been widely used for transaction processing, which is characterized by the use if a single algorithm applied to many different sets of data -The procedural approach is also widely used for problems in math and science

Advantages/Disadvantages: -The procedural approach and procedural languages tend to produce programs that run quickly and use system resources efficiently -Very efficient for number-crunching tasks -It is a classic approach understood by many programmers, software engineers, and systems analysts -Flexible and powerful which allows programmers to apply it to many types of problems -It does not fit gracefully with certain types of problems--those that are unstructured or those with very complex algorithms -It has be criticized because it forces programmers to view problems as a series of steps

Object-Oriented Paradigm

Description: -Based on the idea that the solution for a problem can be visualized in terms of objects that interact with each other -In the context of this paradigm, an object is a unit of data that represents an abstract or a real-world entity, such as a person, place, or thing -Formulates programs as a series of objects and methods that interact to perform a specific task -Programs define objects, classes, and methods -An OO program can use objects in a variety of ways, a basic way is to manipulate them with methods -A method can perform a variety of tasks, such as collecting input, performing calculations, making comparisons, executing decisions, and producing output

Languages: -Smalltalk: developed by Xerox researchers in 1980 -C++: language that derived from C that provide object-oriented capabilities -Java: a C++ derivative developed by Sun Microsystems used extensively for Web-based programming -Scratch: a simple, visual programming language based on Smalltalk/Squeak and used for teaching -Computer historians believe that SIMULA (SIMUlation LAnguage) was the first computer language to work with objects, classes, inheritance, and methods -SIMULA laid the foundation for the object-oriented paradigm, which was later incorporated into other programming languages such as Eiffel, Smalltalk, C++, and Java -Hybrid languages such as Ada95, C++, Visual Basic, and C#, give programmers the option of using procedural and object-oriented techniques

Types of Problems Suited for the Paradigm: -The object-orientated paradigm can be applied to a wide range of programming problems -If you can envision a problem as a set of objects that pass messages back and forth, the problem is suitable for the OO approach

Advantages/Disadvantages: -The object-oriented paradigm is cognitavely similiar to the way human beings perceive the real world -Using the object-oriented approach, programmers might be able to visualize the solutions to problems more easily -Can also increase a programmers efficiency because encapsulation allows to be adapted and reused in a variety of different programs -Runtime efficiency could be a possible disadvantage -Efficient for problems that involve real-world objects -Object-oriented programs tend to require more memory and processing resources than procedural programs

Declarative Paradigm

Description: -Attempts to describe a problem without specifying exactly how to arrive at a solution -Describes aspects of a problem that lead to a solution -Focuses on the problem -The core of most declarative programs is a set of facts and rules that describe a problem

Languages: -Prolog: (PROgramming in LOGic) developed in 1972 and used for artificial intelligence applications -Many declarative languages, such as Prolog, use a collection of facts and rules to describe a problem

Types of Problems Suited for the Paradigm: -It is possible to use a declarative language to solve a problem that involves calculations -Problems that require intensive computation are not usually best suited for the declarative paradigm -Declarative programming languages are most suitable for problems that pertain to words and concepts rather than to number

Advantages/Disadvantages: -Offer a highly effective programming enviornment for problems that involve words, concepts, and complex log -Declarative languages offer a great deal of flexibilty for querying a set of facts and rules -Allow you to describe problems using words rather than the abstract structures procedural and object-oriented languages require -Not commonly used for production applications -Have a reputation for providing minimal input and output capabilities -Their relatively poor performance on today's personal computer architecture, which is optimized for sequential processing

Functional Paradigm

Description: -Emphasizes the evaluation of expressions, called functions, rather than the execution of commands

Language: -LISP: (LISt Processing) developed in 1959 by famed artificial intelligence researcher John McCarthy, LISP is used for artificial intelligence applications -Scheme: a dialect of LISP, used for computer research and teaching -Haskell: named for the mathematician Haskell Brooks Curry