Krakow, Poland, 25 - 27 August 2021
Kevlin Henney is an independent consultant, trainer, reviewer and writer. His development interests are in programming, people and practice. He has been a columnist for various magazines and web sites, a contributor to open- and closed-source software and a member of more committees than is probably healthy (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is co-author of two volumes in the Pattern-Oriented Software Architecture series, editor of 97 Things Every Programmer Should Know and and co-editor of 97 Things Every Java Programmer Should Know.
Refactoring Is Not Just ClickbaitConference
For many people, refactoring is a simple code transformation they click on in a context menu or via a keyboard shortcut. They can extract, inline, replace, move, rename, etc. at will. The widespread availability of automated refactoring should have made oversized classes and long-winded functions a thing of the past. But it hasn't.
Having a tool is only part of the solution: knowing what to do with it and how to use it well is what makes the bigger difference. In this talk, we'll revisit what refactoring is (and isn't), examine what practical and social obstacles refactoring faces, explore the idea that refactoring should be considered a design process and not just a clean-up click, and that most interesting refactorings are not necessarily automated.
Scheduled on Thursday from 14:40 to 15:30 in Room 1
Six Impossible ThingsKeynote
"Why, sometimes I've believed as many as six impossible things before breakfast," the Queen told Alice on her adventures through the looking glass. Only six? In software development we believe impossible things all the time, no matter the time of day!
In this talk, however, we are going to take a look at six specific impossible things that shape the limits of what we can develop, all the way from the smallest detail of integer representation to the minefield of task estimation and prioritisation, via the uncertainty of distributed systems and the limits of computability. Once we know our limits, we can work within them to create solutions rather than problems.
Scheduled on Friday from 09:00 to 10:00 in Room 1
Lambda? You Keep Using that LetterConference
Lambdas. All the cool kid languages have them. But does lambda mean what Java and other languages, from C++ to Python, mean by lambda? Where did lambdas come from? What were they originally for? What is their relationship to data abstraction?
In this session, we will into the history, the syntax, the uses and abuses of lambdas, and how lambda constructs in Java and other languages do (or do not) match the original construct introduced in lambda calculus.
Scheduled on Wednesday from 11:40 to 12:30 in Room 1