オブジェクト指向プログラミング（OOP）は、プログラムのすべてのロジックを、データ（属性）と手続き（メソッド）を保持できるオブジェクトに分割するプログラミング・パラダイムである。オブジェクトは、オブジェクトの設計図であるクラスを通してモデル化される。また、継承、インターフェイス、ポリモーフィズム、データのカプセル化といった重要な概念も含まれる。最も人気のあるオブジェクト指向プログラミング言語には、Java、C++、Javascript、C#などがある。

一方、関数型プログラミングは、データを変更することなく、関数を連鎖させて値を他の値にマッピングすることに重点を置いたパラダイムである。最も人気のある関数型プログラミング言語には、Haskell、OCaml、Scala、Lisp、Erlangなどがある。
Object-oriented programming (OOP) is a programming paradigm that divides all the logic of a program into objects, which can hold data (attributes) and procedures (methods). They are modeled through classes, which are blueprints for objects. It also includes important concepts like inheritance, interfaces, polymorphism and data encapsulation. Some of the most popular object-oriented programming languages include Java, C++, Javascript and C#.

On the other hand, functional programming is a paradigm focused on chaining functions to map values to other values, without modifying data. Some of the most popular funcional programming languages include Haskell, OCaml, Scala, Lisp and Erlang.