You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 14, 2024. It is now read-only.
bio : "I'm a software engineer and the founder of Rock the JVM. I teach Scala, Kotlin, Java, big data and a variety of tech both live and in online courses."
@@ -27,7 +27,7 @@ As a prerequisite, you should be familiar with programming in general — wi
27
27
28
28
If you're onboard for this journey, let's warm you up. This is where most people drop Scala because it's either 1) too frustrating because they have gaps in computer science basics, or 2) too boring because most tutorials spend too much time on these topics.
29
29
30
-
The absolute basics of the Scala language include a few key ideas.
30
+
The absolute basics of the Scala language include a few key ideas.
31
31
32
32
- Defining values (`val`s) and understanding that values are the equivalent of constants in other languages.
33
33
- Getting familiar with types in Scala: this is also where you get accustomed to the compiler and to _type inference_, the ability of the compiler to figure out the type of your values depending on what you write on the right hand side of an assignment.
@@ -52,7 +52,7 @@ This is where most people dive in too early, but in my experience, this is not t
52
52
53
53
Why?
54
54
55
-
Because Scala, being based on the JVM — which was built for Java, one of the canonical OO languages — has to resort to certain tricks to achieve some of the key aspects of functional programming: the ability to pass functions as arguments and to return them as results. In other words, the ability to handle functions as "first class" elements of the language, built for a platform that only supports OOP, needs some OO foundations.
55
+
Because Scala, being based on the JVM — which was built for Java, one of the canonical OO languages — has to resort to certain tricks to achieve some of the key aspects of functional programming: the ability to pass functions as arguments and to return them as results. In other words, the ability to handle functions as "first class" elements of the language, built for a platform that only supports OOP, needs some OO foundations.
56
56
57
57
- Now you're ready to understand what a function value is in Scala. You can get familiar with the `FunctionN` family of traits in Scala. With this knowledge, I personally felt like a new section of my brain was unlocked, when I learned this.
58
58
- Learn lambdas, i.e. anonymous functions. With the idea above, this concept will now feel trivial.
@@ -150,14 +150,3 @@ So why should you learn Scala at all? Here are a few reasons:
150
150
- It's just plain fun. Scala can be so expressive, so compact and yet so powerful. With some of the tools above, you can write in 20 lines what other developers need 2000 lines.
151
151
152
152
I hope the above ideas and tips were useful. Tens of thousands who learned from [Rock the JVM](https://rockthejvm.com) have followed them, with some amazing results for their projects and their careers.
0 commit comments