Emphasizes linear steps that provide the computer with instructions on how to solve a problem or carry out a task.
Languages include: BASIC, Pascal, COBOL, Fortran, Ada
Best used for problems that can be solved by using a step-by-step algorithm.
Tend to produce programs that run quickly and use system resources more efficiently.
It does not fit gracefully with certain problems such as those with very complex algorithms.
Formulates programs as a series of objects and methods that interact to perform a specific task.
Languages include: Smalltalk, C++, Java, Scratch
Using the object-oriented approach, programmers might be able to visualize the solutions to problems more easily.
One disadvantage is that they tend to require more memory and processing resources.
Focuses on the use of facts and rules to describe a problem.
Languages include: Prolog
Best used for problems that involves calculations.
They offer a great deal of flexibility for querying a set of facts and rules.
Emphasizes the evaluation of expressions, called functions.
Languages include: LISP,Scheme, Haskell
Has a reputation for providing minimal input and output capabilities.
Offer a highly effective programming environment for problems that involve words, concepts, and complex logic.
Best useful with problems involving calculations.
Focuses on selecting user interface elements and defining even-handling routines that are triggered by various mouse or keyboard activities.
Languages include: Visual Basic, C++
Can reduce development time and simplify the entire programming process.