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.
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.
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.
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.
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.
C++, visual basic and C#, are just a few languages that give programmers the option of using procedural and object-oriented techniques.
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.
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.
A declarative paradigm attempts to describe a problem without specifying exactly how to arrive at a solution.
Non-procedural languages such as LISP, Haskell, and Prolog can be grouped into the declarative paradigm.
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.
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.
The functional paradigm emphasizes the evaluation of expressions, called functions, rather than execution of commands.
The functional paradigm is supported by languages such as LISP, Scheme, Haskell
Allows a programmer to develop a program by selecting user interface elements and specifying event-handling routines.
Event-driven paradigms are supported by C# and Visual Basic languages.
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
The event-driven paradigm can reduce development time and simplify the entire programming process.