johnston - programming quantum computers