What is abstraction? Can we have a precise definition of abstraction that, once understood, makes writing software simpler?
Runar has thought a lot about abstraction and how we can choose the proper level for the software we write.
In this interview, he explains these concepts using examples from the real world. Examples include SQL, effectful computing and several others areas.
We also talk about how to learn and acquire the skills necessary to understand complex concepts. Concepts like highly polymorphic code and category theory.
Runar also explains his latest project unison computing and how it uses the correct level of abstraction to rethink several foundation ideas in software development.