Quantum Computers and Their Software Interfaces