Speakerline
Speakers
Proposals
Events
Tags
Edit a proposal
Adam Cuppy
Ahmed Omran
Alan Ridlehoover
Amit Zur
Andrew Mason
Andrew Nesbitt
Andy Andrea
Andy Croll
Asia Hoe
Avdi Grimm
Ben Greenberg
Bhavani Ravi
Brandon Carlson
Brittany Martin
Caleb Thompson
Caren Chang
Chiu-Ki Chan
Christine Seeman
Cody Norman
Devon Estes
Eileen Uchitelle
Emily Giurleo
Emily Samp
Enrico Grillo
Espartaco Palma
Fito von Zastrow
Frances Coronel
Hilary Stohs-Krause
Jalem Raj Rohit
Jemma Issroff
Jenny Shih
Joel Chippindale
Justin Searls
Katrina Owen
Kevin Murphy
Kudakwashe Paradzayi
Kylie Stradley
Maeve Revels
Maryann Bell
Matt Bee
Mayra Lucia Navarro
Molly Struve
Nadia Odunayo
Nickolas Means
Noah Gibbs
Olivier Lacan
Ramón Huidobro
Richard Schneeman
Rizky Ariestiyansyah
Saron Yitbarek
Sean Moran-Richards
Shem Magnezi
Srushith Repakula
Stefanni Brasil
Sweta Sanghavi
Syed Faraaz Ahmad
Tekin Suleyman
Thomas Carr
Tom Stuart
Ufuk Kayserilioglu
Valentino Stoll
Victoria Gonda
Vladimir Dementyev
Title
Tags (comma-separated, max 3)
Body
# Description Our human brains are primitive and puny. Despite being well-adapted for hunter-gatherer survival, they find it difficult to work with several complex ideas simultaneously. We’re good social interactors, superb empaths, excellent pattern-matchers, skilled readers between the lines, but we’re terrible at reasoning directly about the complicated behavior of non-human systems. That’s a problem, because complex non-human systems now dominate our world. In this talk I’ll present our solution: abstraction. Abstraction is an adapter between the fearsome complexity of the universe and our simple primate minds; when the real world is too fiddly or confusing or counterintuitive for us to work with directly, abstraction gives us big friendly levers to pull on instead. This single powerful idea underlies computers, mathematics, language, and everything else we rely on in our daily work as computer programmers. # Notes for reviewers This talk unpicks Steve Jobs’ famous description of a computer as “a bicycle for the mind”. I’ll explain where simple abstractions (e.g. numbers) come from, compare our everyday understanding of them to what they actually mean, and show how they enhance our natural cognitive abilities by allowing us to succeed at complex tasks while still sticking to what we’re good at. Instead of having to maintain an intuitive understanding of the arithmetic properties of numbers, for example, we can just manipulate symbols according to some easily-remembered rules; because of the careful design of the symbols and the rules, our simple manipulations are deeply connected to much more sophisticated properties. The same applies to the abstractions we use in computer programs every day: object-oriented programming is a way of systematically hiding complexity by bundling it up into opaque units, each of which is given a meaningful name so that we can think about it abstractly in the rest of our program. This encapsulation of complexity is the only way we can ever get any useful work done.
Back to Speaker Directory