2
2
layout : singlepage-overview
3
3
title : Scala FAQ
4
4
permalink : /tutorials/FAQ/index.html
5
- redirect_from :
5
+ redirect_from :
6
6
- " /tutorials/FAQ/breakout.html"
7
7
- " /tutorials/FAQ/chaining-implicits.html"
8
8
- " /tutorials/FAQ/collections.html"
9
9
- " /tutorials/FAQ/context-bounds.html"
10
10
- " /tutorials/FAQ/finding-implicits.html"
11
11
- " /tutorials/FAQ/finding-symbols.html"
12
- - " /tutorials/FAQ/stream-view.html"
12
+ - " /tutorials/FAQ/stream-view.html"
13
13
- " /tutorials/FAQ/yield.html"
14
14
---
15
15
@@ -35,25 +35,21 @@ are out there; there are many.
35
35
36
36
You can go on the [ Scala room on
37
37
Gitter] ( https://gitter.im/scala/scala ) or another community forum and
38
- ask for book recommendations, but note that you 'll get more helpful
38
+ ask for book recommendations. You 'll get more helpful
39
39
answers if you provide some information about your background and your
40
40
reasons for wanting to learn Scala.
41
41
42
42
### Should I learn Scala 2, or Scala 3?
43
43
44
- The default choice remains Scala 2 for now. Most Scala jobs are Scala
45
- 2 jobs; most Scala books and online learning materials cover Scala 2;
46
- tooling and library support is strongest in Scala 2; and so on.
44
+ Scala 3 was released in May 2021. Because Scala 3 is still so new,
45
+ most Scala jobs are Scala 2 jobs; most Scala books and online learning
46
+ materials cover Scala 2; tooling and library support is strongest in
47
+ Scala 2; and so on.
47
48
48
- Scala 3.0.0 is planned for release in 2021, and a number of
49
- Scala 3 books will come out in 2021 as well. In time, there will
50
- be more and more Scala 3 jobs as well.
49
+ Thus, Scala 2 remains a common and reasonable choice.
51
50
52
- ### When is Scala 3 coming out?
53
-
54
- In 2021. Watch the [ Scala blog] ( https://www.scala-lang.org/blog/ )
55
- for announcements. For a more detailed view of how work is progressing,
56
- see the [ Dotty milestones] ( https://github.com/lampepfl/dotty/milestones ) .
51
+ Some books that cover Scala 3 are already available; more are on the
52
+ way. In time, there will be more and more Scala 3 jobs as well.
57
53
58
54
### Where are Scala jobs advertised?
59
55
@@ -181,19 +177,18 @@ differ from a function value such as:
181
177
182
178
val square: Int => Int = x => x * x
183
179
184
- [ Complete answer on Stack Overflow] ( https://stackoverflow.com/a/2530007/4111404 ) .
185
-
186
- [ Summary with practical differences] ( https://tpolecat.github.io/2014/06/09/methods-functions.html ) .
180
+ For Scala 2, there is a [ complete answer on Stack Overflow] ( https://stackoverflow.com/a/2530007/4111404 )
181
+ and a [ summary with practical differences] ( https://tpolecat.github.io/2014/06/09/methods-functions.html ) .
187
182
188
- Note that in ** Scala 3** most of the differences will go ;
183
+ Note that in ** Scala 3** the differences are fewer ;
189
184
for example, they will be able to
190
185
[ accept implicit parameters] ( https://dotty.epfl.ch/docs/reference/contextual/context-functions.html )
191
186
as well as [ type parameters] ( https://dotty.epfl.ch/docs/reference/new-types/polymorphic-function-types.html ) .
192
187
193
188
Nevertheless, it is still recommended to use methods most of the time,
194
189
unless you absolutely need a function. And, thanks to
195
190
[ eta-expansion] ( https://stackoverflow.com/questions/39445018/what-is-the-eta-expansion-in-scala )
196
- you rarely would need to define a function over a method.
191
+ you rarely would need to define a function rather than a method.
197
192
198
193
### What's the difference between types and classes?
199
194
0 commit comments