The C language remains a weapon of choice for systems programmers, and maintains a strong following among application programmers, despite continued calls for its abandonment.
In this talk I'll share some unusual perspectives on what might explain this endurance, and how it relates to issues such as unsafety, undefined behaviour, and the desire for performance. I'll highlight an underappreciated property of C in contrast with other languages: the "first class" status afforded to "foreign" objects and the act of communicating with them. This can be seen as a counterpoint to so-called ``managed languages''; a recurring theme will be how slippery our conception of "a programming language'' can be, in that most properties we attribute to C and to other languages are consequences of implementation customs rather than languages per se.
Stephen is a postdoctoral Research Associate in the Computer Laboratory at the University of Cambridge, working within the REMS project. Steven’s goal is to make it easier and cheaper to develop useful, high-quality software systems.
Most of Stephen’s research concerns programming, but he identifies himself as a “systems” researcher. For Stephen, “systems” are a mindset rather than a research topic. This means he is primarily interested in the practical consequences of an idea; its abstract properties are of interest only subserviently.
Since his PhD, he has worked for Oracle Labs, the University of Lugano, and the Univeristy of Oxford.