JVM is too small for two leaders. That’s how I want to start a post about Java vs Scala. By the way, I had used Java for a long time, but then switched to Scala and wasn’t happy with that decision. Luckily I have understood how to use its features in order to be more productive developer. Make yourself comfortable, it's going to be a very interesting conversation about marketing in a programming languages world. Yes-yes, exactly conversation, because I encourage my readers to write comments with their thoughts about the topic.
Hello, dear Reader! I apologize for a such loud title of the article, but you should know how it's important for me to engage the readers to discussion. Not so long time ago, I decided to systemize my knowledge of object oriented programming in Scala. That was awesome idea! And now I want to share with you all mini-topics which I underlined as important, but many developers forget about them.
Today I want to write about a dream of every Java developer - pattern matching. While a switch statement works only with limited number of types, including primitive values, strings and enums, the pattern matching feels confident with almost any argument type. I'm going to demonstrate a batch of examples where pattern matching is useful.
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.