Bugs make us slow. They annoy our users. They drain our revenues. We software developers are all too familiar with them. But not too far in the future, as software takes on a more central role in our lives, bugs will start driving us off cliffs and poisoning our bloodstream.
Are bugs a natural consequence of software? Are they all created equal? Can we prevent all of them? In this talk, we'll draw from some deeply powerful ideas and tools that can help us reason about what our code is doing, and we'll explore how they can render entire classes of bugs obsolete.
Let's discover how powerful logics, expressive type systems and generic code might just be our best allies in building the systems of tomorrow.