From Carnegie Mellon University
Joshua Bloch is the author of Effective Java and coauthor of Java Puzzlers and Java Concurrency in Practice. He is a professor on leave from Carnegie Mellon University. He was formerly the chief Java architect at Google, a distinguished engineer at Sun Microsystems. He led the design and implementation of numerous Java platform features, including the Java 5 language enhancements and the Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University and a B.S. in computer science from Columbia University.
Since its release in 2001, Effective Java has been the de facto standard best-practices guide for the Java platform. The book was last updated in 2008, when Java 6 was released. In the intervening decade, the platform has had three major releases, introducing many new language and library features that significantly affect best practices. The recently released third edition of Effective Java contains one new chapter, fourteen new items, and numerous changes to existing items. This talk covers some highlights from the third edition, concentrating on streams and lambdas.
APIs have been with us for 65 years or so. They come in all shapes, sizes, and disguises. In this talk we'll discuss the fascinating history of APIs and look at a few of them, focusing on what makes them good, what makes them successful, and why the correlation between quality and success isn't as high we might want it to be. We'll conclude with a brief discussion of the legal status of APIs, and what it means to us as software professionals.