What can you do in Scala that you can’t do in Java? What are the practical uses of more advanced language features? What could the future hold for Java? We’ll cover specific language features with their use cases:
– Function composition as an alternative to layered architectures
– Functional approaches to implement dependency injection
– Writing reusable code with higher kinded types
– Avoiding mutability with expressions
– Compile time checked serialisation with generic programming. As well as posing some higher level questions about language features:
– Why do we embrace runtime reflection frameworks but fear compile time implicit parameters?
– Ease of initial understanding vs long-term productivity of a language
– Simple vs familiar language features and patterns. The goal of this talk is for you to learn some specifics about language features not yet in Java as well as to get you excited about programming languages in general.