A low level language is assembly language.
This normally uses the cpu interrupts to get the computer to do what you want.
It is reasonably hard to understand and very easy to make mistakes as you have to remember to do everything with it such as push the registers onto the stack and pop them off afterwards. But it is also super fast way of executing a program, and also allows you access to a lot of places inside the computer that higher level languages stop you from accessing.
The program runs a lot faster in assembly mainly because it is raw code, and there is no interpreter like on C++ that adds is own extra things to the code.
One example of x86 assembly is:
PUSH AX
MOV AH,$0x02
INT $0x17
POP AX
Please note don't try and run this as it could do absolutely anything to the machine or nothing. It should ask the printer for it's current status but this was many years ago based on parallel port printers, now it could do absolutely anything.
It firstly pushes AX register onto the stack to keep it's existing data safe, it then loads ah (the higher end of ax with 0x02, then it calls interrupt 17, which if ah is loaded with 02 it tells the cpu to go and get the printer status, afterwards it then pops the ax register off the stack returning ax to it's original state.
The higher the language the more easier it is to read and understand by the end user.
assembly is the lowest, going up to compiler languages like C++/Pascal, and then BASIC is probably one of the most highest languages. Of course each time you take a step up the language gets easier but the program gets slower, as each level all add extra bits that make the program less and less optimised. Most life saving equipment, such as heart monitors have their software wrote in assembly for the reason they need to be ultra fast to save the persons life.