Prototyping remains an underappreciated technique in software design. In this talk, Robert develops a functioning prototype for a specific Go language extension, multi-dimensional index expressions. He explains how implementing and playing with the prototype informs the existing design, which ultimately may lead to a better final design.
The complete talk text is here: https://talks.golang.org/2016/prototype-your-design.txt
The complete implementation of the example prototype developed in the talk can be found here: https://github.com/griesemer/dotGo2016
No compiler or runtime background is required to follow this talk.