Skip to content

Menu

Fusion of object oriented and functional programming

January 02, 2019

The fusion of Object Oriented Programming (OOP) and Functional Programming (FP) languages has become increasingly popular in recent years, with many programming languages now offering features and constructs from both paradigms.

OOP is focused on representing complex systems as collections of interacting objects, each with its own state and behavior. Key features of OOP include inheritance, polymorphism, encapsulation, and abstraction. Some popular OOP languages include Java, Python, and C++.

FP, on the other hand, is focused on creating programs by composing functions that transform data. Key features of FP include immutability, higher-order functions, currying, and recursion. Some popular FP languages include Haskell, Clojure, and Scala.

By combining elements of both OOP and FP, developers can take advantage of the strengths of each paradigm. For example, OOP can be useful for representing complex systems with many interacting components, while FP can be useful for writing concise, declarative code that is easy to reason about.

Examples are Kotlin, Rust and Scala.

In 1998 I wrote my diploma thesis “geometric algorithms in Haskell”.

Read next

Nov 01, 2025 software-engineering

Announcing NKP 0.1: Static Analysis for Kotlin Projects

I’m excited to share the first MVP release of NKP (aNalysis of Kotlin Programs), a command-line tool for analyzing Kotlin codebases and uncovering architectural insights.

#jvm #architecture #kotlin #object-functional #quality-assurance
Read more