Functional Programming has been getting a lot of buzz lately. What makes that weird is that it’s been around for a long time. In order to understand why it’s so popular now, I think it is important to take a look at the history of how we got where we are now.
Over time just about every Object Oriented language has started adding more and more functional tools to its toolbox. When these functional more declarative features are first introduced, they are often met with resistance. I think this is natural and understandable, I don’t blame anyone for feeling confused as to why they would need a new way to do things. The old way works fine! There have been many solutions to many of these problems, however, they have been built in a different paradigm, an imperative one.
Functional Programming is a different way of thinking and it will take some patience and open-mindedness to pick it up, but it will be beneficial as things are rapidly heading that direction. If you are skeptical, I’m asking that you give it a chance.
Functional Programming in Java
Java joined the Functional Programming game with the release of Java 8 in March of 2014. It introduced a brand new way to gather, aggregate and reduce your data using a new language concept known as a Stream. A stream is a pipeline of functions that expose a more declarative way to accomplish tasks, and can very easily be parallelized, thus addressing the problem space of our many computers and endless processing power.
I’ve found that most people who use them, fall in love with them very quickly. I’d love to introduce you two, so come check out my latest Introduction to Functional Programming course. You have never seen Java like this before. I promise.
If you are enjoying yourself and would like to go on a second date, please go to a viewing of one our new releases Introduction to Scala. Scala is a programming language that runs on the Java Virtual Machine, and therefore can interoperate with Java seamlessly. Scala is a portmanteau for scalable language, and it is an attractive, expressive and succinct language. You’re gonna dig it.
So what are you waiting for?
Let’s get functional!