Skip to content

TALKS

Java programmers ❤️ streams! They brought us at least some of the joys of functional programming: code that’s clear and elegant, and even, sometimes, performant. But how do they work? Many people don’t know, and that puts them in danger of writing code that seriously underperforms. In this talk we’ll look at the principles and some details of the implementation, and we’ll work out some useful principles about how – and even whether – to use streams in practice. The talk will be up to date with the new feature of Gatherers, revealing the mystery of the greedy flag.

You’ll come away from this talk with a new understanding of how streams work, the assumptions that underlie their design, and how you too can write stream code that both looks good and performs well.

Cay Horstmann
San José State University
After growing up in the German countryside, I studied in the United States (M.S. in computer science from Syracuse University, and a Ph.D. in mathematics from the University of Michigan in Ann Arbor). For four years, I was VP and CTO of an Internet startup that went from 3 people in a tiny office to a public company. I taught computer science at San Jose State University and held visiting appointments at universities in Germany, Switzerland, Vietnam, and Macau. In my copious spare time I write books and articles on programming languages and computer science education.
Maurice Naftalin
Morningside Light Ltd
Five decades working in IT: developer, designer, architect, manager, teacher, and author. Working with Java since 1.0. Author, Mastering Lambdas; co-author, Java Generics and Collections. Disorganises the unconference JAlba. Java Champion. Speaks at conferences a lot.