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.