Up to this point, we’ve used Python to implement our own software stack to simulate quantum programs. If you recall, figure 2.1 (appearing again as figure 7.1), was a good model for how the programs we are writing interact with the quantum simulator and devices that we use and build as quantum developers.
Moving forward, we’ll be writing more intricate quantum programs that will benefit from specialized language features that are hard to implement by embedding our software stack in Python. Especially as we explore quantum algorithms, it’s helpful to have a language tailor-made for quantum programming at our disposal. In this chapter, we’ll get started with Q#, Microsoft’s domain-specific language for quantum programming, included with the Quantum Development Kit.