Quantum Software and Compilers