ABSTRACT

Scala was designed to be similar to Java, in order to make it easier for Java programmers to adopt the new language. Throughout its history, the people continuing to develop Java have done a great job of adding new features in such a way as to break few or no existing programs. Adding some FP features to Java under these constraints was clearly a major effort and an impressive technical achievement. The addition of functions and the ability to use them with legacy code are definitely improvements. The usual recommendation for programmers who wish to learn functional programming is to learn Haskell. Haskell is purely functional, and anyone who learns Haskell definitely understands functional programming.