Quantum programming languages and programming abstractions - including LLM-assisted quantum programming