In this chapter, you learned more about Scala, a language that has strong support for functional programming while being a pure OOP language at the same time. We started the chapter by installing Scala and using the scala
command, the REPL interactive shell of Scala. You used this powerful program to try all the code snippets in this chapter. We explained the difference between imperative and functional programming. We looked at many OOP features of the Scala language and discovered that many statements are more powerful in Scala than Java's versions of the same statements. We also found out that the access modifiers of Scala and Java are similar to each other but not completely the same. You tried out some collection classes from the Scala standard library and applied generics to them. We concluded this chapter by examining functional programming in more detail.
With all the theory behind us, it's time to realize a small project with Scala. This time we will use the scalac
compiler...