I enrolled to Functional Programming in Scala specialization on Coursera. It consists of 5 courses which will take around 180 days. First course in the specialization is Functional Programming Principles in Scala. I already completed the first week and learned some stuff about recursive functions. So It's time to share some knowledge.
That's not a secret that Scala is very popular programming language in BigData industry. And you may heard before that Scala is a data-centric programming language. This means not more, that with its help you can work with a data more easier comparing with other languages. Important roles in this play two Scala features: case classes and case objects.
For a long time I couldn't understand currying functions in Scala and how they work. That was really horrible! Because occasionally I met the currying functions in the code and wasted too much time to read them. So finally I decided to learn how it works and where could be applied.
Now after we have considered basics of Scala functions, we can make a next step in more complex use cases functional programming. Since functions in Scala are objects we can pass them as arguments in another functions, also we can return them as a result. In this article I'm going to examine multiple examples of higher-order functions.
Scala combines two programming paradigms: object oriented and functional. As a result you get best from the two worlds. From the one side you can describe models as objects, from the other side you can apply functions to them. And as you may guess, it's really awesome! Let's discover today basics of Scala functions.
Working with a JSON is very common task in a software development process. In Scala you can do it in many ways, either with help of Java popular libraries such as Jackson or using Scala specific libraries. How to make a right choice from the Spray JSON, Play JSON, Argonaut, Jackson, Rapture and many more?