In this article I want to show a real difference between curried functions and partially applied functions in Scala. This question is pretty common for those developers who started learning Scala without previous experience in functional programming. Moreover, this blog post may be useful, even for experienced Scala developers, because based on my experience I have had incorrect understanding of the difference between the curried functions and partially applied functions.
When I work with Scala collections, I always keep in mind that there are two types of operations which I can perform: transformation operations and actions or like someone call it aggregation operations. The first type transforms a collection into some another collection. The second one type returns some value.
I want to share with you a small piece of my project. It's about Scala programming language. If to be more precise it's about the most simple way of Scala studying. Why I said the most simple? Well, because I have a solid knowledge of mainstream problems which occur during Scala studying. So I invite you to discuss my job.
Probably the most painful thing for software developers is to be restricted in technology choice which they want to use in a development. You pay for a conference ticket, listen about new cool frameworks, development approaches or tools... Then you return to office with huge enthusiasm and desire to try at least something on real project. Unfortunately such initiative very frequently meets resistance from different sides: team members don't want to learn something new, a manager thinks it is risky, a product owner hurries with a next release, etc.
This Spring I paid around $350 for the new specialization on Coursera. Its name Functional Programming in Scala. Since that time I have completed 3 courses, and 2 are still not published. So I decided to use this pause for writing a some kind of report. I believe this information may be helpful for those of you who still have doubts regarding the start of the Scala specialization on Coursera.