Posts Tagged ‘object oriented programming’

Learning Scala and Functional Programming is a psychological challenge…

February 20, 2012

I just finished reading an interesting article which describes the author’s “Aha!” moment around how he is seeing adoption of Functional Programming in general and Scala in particular is occurring with “code density is too high”. Here’s the comment I left which describes more accurately what is actually occurring for me as I attempt to move from Java imperative programming to Scala functional programming:

Very nicely put.

From what I can tell, the fundamental issue has to do with misplaced optimization (i.e. efficiency) combined with a psychologically undermining fear based self-suggestion of “what if this next abstraction I’ve yet to learn is the one that is just beyond my limit of capability”. At least that is what I am currently facing as I attempt to learn Scala and Functional Programming after having _invested_ two decades into OOP (Eiffel, Delphi and Java).

Do I spend the time attempting to make the leap to understand Functional Programming with all it’s weird foreign and non-OO way of doing things? Example: the term monad has kept me up with nightmares of non-grokking now for almost a year, and that’s after reading article after article attempting to explain it. Or, do I leverage what I already know and for what the market is already paying top dollar, or take the risk and time to invest in something that is foreign, it will be years before I am at an expert level again and during that time, I will suffer internal confusion and a confidence crisis as I continue to do OOP in my day job and attempt to do OOP + FP in my spare time?

At this point, I am making the investment to learn Scala and Functional Programming. And I am framing it as an intellectual challenge knowing I might not ever get to leverage either in any real financial way like I have been able to with Java and OOP. And the cost, psychologically to me, has been pretty expensive. I figure I have another year, at least, of being uncomfortably ego-challenging confronted before I finally feel a sufficient level of Scala and FP confidence. So, that’s two years I am pushing myself to invest.

So, given that, I can see how many will choose to wait until Scala and FP are much more mainstream before taking their own investment risks, both psychologically and intellectually.