Coding Java Videos

JetBrains Technology Day for Java – Let’s get lazy

On the 10th July 2020, JetBrains hosted a Technology Day for Java. We had 10 presentations and the videos for them are available here. Over the coming weeks, in no particular order, we’d like to share with you extra resources that our speakers kindly provided and any links to further reading or code samples.

We hosted Venkat Subramaniam talking to us about how big data, or highly responsive applications, can scale to the increasing demands for speed and short response. The smart solution comes from being lazy; laziness can translate to efficiency and scalability.

In this presentation we started by learned the difference between ‘applicative order’ and ‘normal order’ with some live coding examples in a variety of languages which really drove the point home and helped us to understand what makes a ‘lazy’ language when it comes to evaluation (which Java is not).

Venkat talked to us about how important indirection is for ‘lazy evaluation’ and about how lambdas are a level of indirection in Java. Venkat talked about ‘eager’ versus ‘lazy’ evaluations as well as postponing evaluations and how this means we can optimise for execution on demand.

We had some questions about debugging streams as well which both Venkat and Mala Gupta gave us tips on. Mala also gave us a quick overview of how we can debug streams using IntelliJ.

In summary, this live coding demo and walk through is a must-watch. As someone who is returning to Java, and missed Java 8 entirely, I can glimpse just how powerful this new functionality is for Java developers.

Presentation from Venkat

Further resources

Debugging in IntelliJ IDEA

What our audience thought of Venkat’s presentation

image description