1. Object-Oriented
1.1. Languages Supported
1.1.1. Java
1.1.2. Scratch
1.1.3. C++
1.1.4. Smalltalk
1.2. Formulates programs as a series of objects and methods that interact to perform a specific task.
1.2.1. Mainly used when trying to formulate a way to organize objects into classes.
1.3. Pros
1.3.1. Programmers can visualize the solutions to problems more easily. Objects can be adapted and reused in a variety of different programs. The encapsulation method allows the paradigm to hide its details from other objects.
1.3.2. Cons
1.3.2.1. The biggest disadvantage of object-oriented programs is runtime efficiency. It requires a lot of memory and processing resources than procedural programs.
2. Functional
2.1. Languages Supported
2.1.1. Scheme
2.1.2. LISP
2.1.3. Haskell
2.2. Emphasizes the evaluation of expressions, called functions, rather than the execution of commands.
2.2.1. Also part of the declarative paradigm.
3. Procedural
3.1. Languages Supported
3.1.1. BASIC
3.1.2. Pascal
3.1.3. COBOL
3.1.4. Fortran
3.1.5. Ada
3.2. Empasizes linear steps that provide the computer with instructions on how to solve a problem or carry out a task.
3.2.1. Used for problems that can easily be solved by linear or step-by-step algorithm.
3.2.1.1. Start to finish program, which means the computer begins the program and does not stop until the program is complete.
3.3. Pros
3.3.1. This paradigm runs quickly and is very efficient. It is easily understood. It is flexible and powerful, which allows programmers to apply it to many types of problems.
3.4. Cons
3.4.1. Does not fit all types of problems. Problems that are unstructured or those with very complex algorithms are a hassle for this paradigm. It also forces programmers to view problems as steps as opposed to objects or concepts.
4. Declarative
4.1. Languages Supported
4.1.1. Prolog
4.2. Focuses on the use of facts and rules to describe a problem.
4.2.1. The program describes the problem without describing how to get to the solution.
4.2.1.1. A programmer plans a declarative paradigm through a decision table, which is a tabular method for visualizing and specifying rules based on multiple factors.
4.3. Pros
4.3.1. Highly effective programming environment for problems that involve words, concepts, and complex logic.
4.4. Cons
4.4.1. Not commonly used for production applications. Have built a reputation for providing minimal input and output capabilities. Poor performance on today's personal computer architecture, which is optimized for sequential processing.
5. Event-Driven
5.1. Languages Supported
5.1.1. C#
5.1.2. Visual Basic
5.2. Focuses on selecting user interface elements and defining event-handling routines that are triggered by various mouse or keyboard activities.
5.3. Most event driven paradigms are focused on GUI interface applications. More advanced than the others because the program initially does not know what the user is going to do.
5.3.1. The programmer is never required to deal with the overall program sequence because the visual development environment automatically combines user interface elements and event-handling into a file that becomes the final computer program.
5.4. Pros
5.4.1. Significantly reduces development time and can simplify the entire programming process.
5.5. Cons
5.5.1. Programming errors, such as syntax erros, runtime errors, and logic errors are time consuming and annoying.