Functional Programming vs. Object oriented Programming - Gnorion/BizVR GitHub Wiki
The following table highlights the major differences between functional programming and object-oriented programming −
| Functional Programming | OOP |
|---|---|
| Uses Immutable data. | Uses Mutable data. |
| Follows Declarative Programming Model. | Follows Imperative Programming Model. |
| Focus is on: “What you are doing” | Focus is on “How you are doing” |
| Supports Parallel Programming | Not suitable for Parallel Programming |
| Its functions have no-side effects | Its methods can produce serious side effects. |
| Flow Control is done using function calls & function calls with recursion | Flow control is done using loops and conditional statements. |
| It uses "Recursion" concept to iterate Collection Data. | It uses "Loop" concept to iterate Collection Data. For example: For-each loop in Java |
| Execution order of statements is not so important. | Execution order of statements is very important. |
| Supports both "Abstraction over Data" and "Abstraction over Behavior". | Supports only "Abstraction over Data". |