Software For Quantum Computers Explained