So, recently I had a crush on Clojure. Actually, I have no idea what and how Clojure is, even for right now. So, why do I want to learn it anyway in the first place? The answer is: Functional Programming!

Since I know how to write code, I only familiar with two programming paradigms: Imperative and Object-Oriented. My first imperative programming language was Pascal. So, back then I knew that we could made computer to do things by executing code like “do this line and then do the next line”. And then, in my fifth semester of my college, I met Java. And my whole world then represented with objects. My friend is an object, my cats have attributes, etc. Since then, I have a relationship with Object Oriented programming language, But for now I didn’t use Java, I met a new programming language, and her name is Ruby. I ditched Java, She’s too big.. and complicated. Ruby is beautiful and easy to understand.

It was in 2014 when I still write Java for my Android game, I heard some buzz about Functional Programming. When Facebook bought WhatsApp for $19 millions. I read an article about WhatsApp tech stack and I stumbled upon an unfamiliar programming language used by WhatsApp named Erlang. The Article said that Erlang is one of the reason why WhatsApp is run so blazingly fast and scalable. And then it said that Erlang is a Functional Programming. I do some browsing about FP and found several articles that said: FP is ‘back from the dead’. But, it didn’t interests me. Then, In early 2015. I read about article in medium about ‘FP is the first thing you have to learn in 2015’. Back then, I just know Ruby for several months because I got my first job as Ruby on Rails Developer. I have to concentrate on learning Rails and have no time to do research on FP. So I still didn’t think that FP is something, I pass.

  (love "I" "Clojure")