Quantum computers and quantum programming: What are they?