Basics Designs and How We Got Them Wrong

We want to write clean code and design software that can last years. However, even basic constructs of programming languages are broken. Strings, collections, async, private members, equality checks and many more – all these things are ill-designed and should be reworked. Do you know why and how?

In this talk, we’re going to revisit the basics of programming languages. We’ll see why our interfaces are wrong, why async shouldn’t use coroutines, why we shouldn’t encapsulate with private members, or why we should replace strings with something better. We’ll see the problems and then consider solutions that lead to better language design and better code quality.

Presented at