# Should I learn a low-level QC programming language?

I've referred to some programming language recommendation questions on here, so I thought I'd post a follow-up question here. I'm a total beginner to the field but want to seriously learn it. Is there a low-level, QC-equivalent of assembly language, and is it worth it to learn that at this stage? Do existing QC programming languages provide that low-level functionality?

And a minor second clarification - if I commit to learning any particular framework like Qiskit or Q#/QDK - is there a risk of that framework going obsolete depending on which company wins out in this QC race in the future?

The language statements are very simple - they involve an operation (i.e. quantum gate) and affected qubits. For example to apply $$X$$ gate on qubit no. 0, you have to put in x q[0], for CNOT gate with control qubit no. 0 and target qubit 1, the statement is cnot q[0], q[1] etc. Also special stataments are used for measurement, setting number of qubits in qubit register and bits in classical register. You can also define subroutines which are called custom gates. This all means that you operates on qubit and gate level although logical ones. It is also possible to write a program in QASM using only basic gates which are $$U3$$ and CNOT on IBM Q (although $$U3$$ is still not physical gate).