What is time? Why is it important and why do we care about it so much?
This talk will introduce discuss some of the many ways that we model and represent time in our programs and programming languages. What are the engineering challenges that we face and what compromises are we forced to take when working with time?
We will explore this together using music as a mechanism to explain and demonstrate these core concepts. In doing so we will discover some of the significant engineering and programming challenges building strongly-timed computational systems.
Finally we will carefully tread the fine balance between soft real-time and hard real-time programming environments and ask the question - what might a hard real-time programming language for music look like?