Brian L. Troutwine will be giving a talk at Lambda Days 2017. He will be speaking about safe and correct software systems.
PurelyFunctional.tv: How did you get into Functional Programming?
Brian L. Troutwine: Accidentally! I was interested in logic programming and Erlang, in particular the Erlang approach to fault-tolerant system construction. I'd discovered Joe Armstrong's thesis on Erlang misfiled in the Portland State Library's Prolog section and was hooked.
PF.tv: What is your talk about?
BL: My primary professional focus is safe and correct software systems. It's something I've spoken about a lot, in one way or another. The problem I've had with my approach so far is that purely technical approaches to safety fail because they don't really address the political aspect of the piece of software, or technical system generally. I've taken a step back and have been studying historical engineering projects, especially with regard to the compromises and defects that creep in as a matter of the process of engineering. The talk is about how to consider the context of the software system, how to understand why it's being made, what defects the politics that surround it will introduce and how we can cope with that as engineers.
PF.tv: Who is your talk for?
BL: I hope it can be understood by everyone. I tried real hard to make it generally useful.
PF.tv: What do you hope people will take away from the talk?
BL: I hope that people will take away a sense that technique is important in itself but not sufficient for quality. The best technique applied in the wrong direction is not equivalent to wrong technique applied in the best direction. That is, technology as such is not neutral. It encodes some definition of "problem" and a particular view of what counts as a valid "solution" to said problem. It is very important to understand both of those implicit norms.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
BL: I think the talk will be generally applicable. I try to introduce everything the audience needs to know. I speak with a vague Appalachian dialect of American English. That's kindly the only potential difficulty.
PF.tv: What resources are available for people who want to study up before the talk?
BL: So many! They're all books though and I'm publishing a companion essay that'll have a bibliography for people to go back and study from.
PF.tv: Where can people follow you online?
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
BL: Unrelated to the talk, but I just open-sourced a telemetry aggregation and analysis system I've been building at Postmates. The project is postmates/cernan and we're always looking for contributions. If you don't have Rust knowledge we'll tutor as needed.
PF.tv: Where do you see the state of functional programming in 10 years?
BL: Normalized into the mainstream! The key benefits of FP are broadly recognized and are being applied both to existing languages in terms of libraries or tooling or in the form of new languages. I'm enthusiastic about Rust, for instance, which has a fair bit of FP about it, even though the language is explicitly a pay for what you use systems language.
Highfalutin FP will keep pushing the research boundary out and allow the mainstream to pick and choose what seem like iterative steps. I'm very interested to see where no-GC languages take from type-theory in the next decade. That's exciting to me. We got awfully lazy in terms of mechanical sympathy when it seemed like computers would get faster forever.
PF.tv: If functional programming were a superhero, what superpower would it have?
BL: I think the real question is what super powers does Phil Walder have that he's not telling us about? 🙂