High level Quantum programming