Java 8 will ship with a powerful new abstraction - Lambda Expressions (aka Closures) and a completely retooled set of Collections libraries. In addition interfaces have changed through the addition of default and static methods. The ongoing debate as to whether Java should include such language changes has resulted in many vocal opinions being espoused. Sadly few of these opinions have been backed up by practical experimentation and experience. Are these opinions just myths? What mistakes does a developer make? Can a ‘blue collar’ Java Developer cope with functional programming? Can we avoid these mistakes in future?