OOP and Functional Programming are two programming techniques that can be used to create programs from codes that can be easily understood and managed. OOP is the short form of Object-Oriented Programming, and it is a programming model that uses objects to create and implement programs. On the other hand, Functional programming is a programming technique or methodology that depends solely on the use of variables and functions to create and implement programs.
Functional programming operates using a declarative programming model, whereas the programming model used in Object-Oriented Programming is an imperative programming model. Object-Oriented Programming considers methods and objects as its key elements, whereas Functional programming sees functions and variables as its key elements.
Programming languages like Wolfram, F#, Clojure, Idris, Racket, Erlang, are usually classified under Functional programming, while programming languages like Python, VB.net, Curl, Java, Eiffel, C++, Objective C, are usually classified under Object-Oriented Programming.