The more common for us is to be taught the object oriented programming way for developing, as well as a more imperative form, instead of a declaritive one. During the last years I have been moving more to prefer a functional paradigm. There is not usual to see many programmers using really functional languages like clojure and haskell, in fact I do not, either.
We can use functional programming in most of the languages, however not all encourage or enforce those out of the box, for example, JavaScript used often as an example of a functional language is not, since, beside being a language where functions are first class citizens, javascript does not force immutability, something that clojure or haskell do.
Fun fact is functional programming was the first programming paradigm to appear in programming, however it was not the most used initially, neither it is nowadays, maybe because immutability requires more memory, which used to be expensive. It is not true anymore.
I believe functional programming will be used more and more in the next years. What I like about functional programming is, it makes easy for us to do the correct thing, while oriented object programming opens a lot of opportunities to mutate state, which very times lead to concurrently wierd and hard to detect bugs. I try to runway from those bugs, since my mind could not keep up with them.
It is not a war functional vs oriented object, but here we have some interesting articles about functional programming.
Published