DEV Community

Legacy Code Rocks!

Software Design with John Ousterhout

To build anew or to rebuild? Many developers have a knee-jerk reaction to start building existing software systems from scratch because they think that is the easiest way forward. 

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. 

When you finish listening to the episode, connect with John on Twitter, read his book, and join his discussion group on software design

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 software-design-book@googlegroups.com 

 

Episode source