Today, we talk with John Ousterhout. John is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow data center applications to take advantage of communication and storage technologies with microsecond-scale latencies. He is the author of the book "A Philosophy of Software Design", co-creator of the Raft consensus algorithm, and creator of the Tcl scripting language and the Tk toolkit. He tells us about the software designs of legacy systems, why incremental changes of legacy systems are inevitable, and how to resist the impulse of rewriting large software systems from scratch.
Mentioned in this episode:
John on Twitter at https://twitter.com/johnousterhout?lang=en
John’s profile at Stanford University at https://web.stanford.edu/~ouster/cgi-bin/home.php
A Philosophy of Software design at https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201
Raft Consensus Algorithm at https://raft.github.io
TCL/Tk at https://www.tcl.tk/about/language.html
John’s Software Design Discussion Group at firstname.lastname@example.org