Programming Paradigms

Get Started. It's Free
or sign up with your email address
Rocket clouds
Programming Paradigms by Mind Map: Programming Paradigms

1. Procedural

1.1. Description

1.1.1. A procedural paradigm is used to conceptualize the solution to a problem as a sequence of steps. A program written in a procedural language usually consists of self contained instructions that indicates how a task is performed. Emphasizes linear steps that provide the computer with instructions on how to solve a problem or carry out a task.

1.2. Computer languages that support procedural

1.2.1. Fortran, a language developed in the early 50's, was the first widely used standardized computer language. This set the pattern for other popular procedural languages such as COBOL, APL, PL/1, Ada, and BASIC, to name a few.

1.3. Types of problems suited for procedural

1.3.1. Procedural is typically used for problems that can be solved by following a step-by-step algorithm. Procedural has been used for transaction processing by the use of a single algorithm applied to many sets of data. Many problems in math and science also use the procedural approach.

1.4. Advantages/Disadvantages

1.4.1. An advantage of the procedural approach is that it produces programs that run quickly and use the systems resources efficiently. The procedural program allows programmers to apply it to many types of problems because of how powerful and flexible it is. But its disadvantages include that fact that it does not fit gracefully with certain types of problems. It also forces programmers to view as a series of steps, whereas some problems may be best viewed as interacting objects, concepts, or ideas.

2. Object-oriented

2.1. Description

2.1.1. The object-oriented program is based on the idea that the solution for a problem can be visualized in terms of objects that interact with each other. An Object-oriented paradigm formulates programs as a series of objects and methods that interact to perform a specific task.

2.2. Computer languages that support object-oriented

2.2.1. C++, visual basic and C#, are just a few languages that give programmers the option of using procedural and object-oriented techniques.

2.3. Types of problems suited for object-oriented

2.3.1. The object-oriented approach can be used for basically any type of problem that can be envisioned as a set of objects that pass messages back and forth.

2.4. Advantages/Disadvantages

2.4.1. The object-oriented approach allows programmers to visualize solutions to a problem a lot more easier than most paradigms. But a disadvantage of the object-oriented is its runtime efficiency. Object-oriented programs tend to require more memory and processing resources than procedural programs.

3. Declarative

3.1. Description

3.1.1. A declarative paradigm attempts to describe a problem without specifying exactly how to arrive at a solution.

3.2. Computer languages that support declarative

3.2.1. Non-procedural languages such as LISP, Haskell, and Prolog can be grouped into the declarative paradigm.

3.3. Types of problems suited for the paradigm

3.3.1. It is possible to use the declarative language to solve problems involving calculations. But problems that require intensive computation are best suited for the declarative paradigm.

3.4. Advantages/Disadvantages

3.4.1. Declarative languages allow programmers to describe problems using words rather than the abstract structures procedural and object-oriented languages require. But declarative languages are known for providing minimal input and output capabilities. Another disadvantage of declarative languages is their poor performance on today's computer architecture. Declarative languages run more efficiently on parallel architectures.

4. Functional

4.1. Description

4.1.1. The functional paradigm emphasizes the evaluation of expressions, called functions, rather than execution of commands.

4.2. Computer languages that support functional

4.2.1. The functional paradigm is supported by languages such as LISP, Scheme, Haskell

5. Event-driven

5.1. Description

5.1.1. Allows a programmer to develop a program by selecting user interface elements and specifying event-handling routines.

5.2. Computer languages that support event-driven

5.2.1. Event-driven paradigms are supported by C# and Visual Basic languages.

5.3. Types of problems suited for event-driven

5.3.1. The programmer is never required to deal with the overall programming sequence because the visual development environment automatically user interface elements and event-handling routines into a faile that becomes the final computer program

5.4. Advantages/Disadvantages

5.4.1. The event-driven paradigm can reduce development time and simplify the entire programming process.