supotuco (32) [Avatar] Offline
Will there be much differences between the content in The Joy of Kotlin and Functional Programming in Java?
Pierre-Yves Saumont (182) [Avatar] Offline

The principles exposed are 80% the same. Some are removed because they are irrelevant. For example making tail recursion stack safe, which comes out of the box in Kotlin, will not be treated (although it could be since it might cover additional use cases). Other are added, such a handling variance, since variance is not handled in Java.

Basically, the exercises are 90 % identical, whereas the solutions are 90 % different. Translating code from Java to Kotlin is easy, and it may even be done automatically by IntelliJ. Automatically translated programs might even work without further modifications, provided they are very "standard" Java programs. But not a single program from Functional Programming in Java can be automatically translated. and if only the syntax errors resulting from the translation were fixed so that the programs compile, the result would be far from optimal, not using the specific features of Kotlin that have no equivalent in Java. They might even not pr├žoduce the intened result.

Beside this, the approach is slightly different, because the intended public is different. Programmers interested in switching to Kotlin are already convinced that they might need something better than Java (meaning Java as a language, since Kotlin is a different language but uses the Java platform).