¿Las ordenes?
Los niveles son niveles de abstracción.
Por ejemplo... en el caso de que fueras a comprar un paquete de cigarrillos a la tienda. Yo te podria decir:
- Ve a la tienda y compra un paquete de cigarrillos
- Ve a la tienda X y compra un paquete de cigarrillos Y.
- Agarra un autobus en la calle A, te bajas en la calle B, caminas a la tienda X, pides un paquete de cigarros Y.
En el primer ejemplo, la decisión de que tienda comprar un paquete de cigarrillos fue abstraido. No te tengo que decir a que tienda ir ni que paquete de cigarrillos comprar. Ni tampoco como vas a transportarte para llegar a la tienda.
En el segundo ejemplo, solo abstraje detalles de transporte. Te estoy diciendo a que tienda ir y que cigarrillos comprar.
Ahora, el tercer ejemplo también abstrae muchos detalles. No te tengo que decir como caminar, como pagar, que decirle al tipo de la tienda.
Un lenguaje a bajo nivel va a preocuparse por la gestión de un sistema desde conceptos practicamente atomicos.
La sintaxis del lenguaje no tiene porque ser muy diferente de un lenguaje de programación a alto nivel.
Yo te puedo decir:
"Respira. Exala. Mueve pie izquierdo. Mueve pie derecho. Respira. Exala...."
O también te puedo decir:
"Camina a la tienda. Compra un paquete de cigarrillos".
Como puedes ver estoy usando el mismo lenguaje de español en los dos ejemplos.
De hecho la gran mayoría de los lenguajes, si no es que todos, ofrecen mecanismos de abstracción. Rutinas, funciones, clases, objetos, etc. De manera que sintacticamente podemos tener la misma instrucción en uno o varios lenguajes de programación con diferentes niveles de abstracción.
En C (lenguaje de bajo nivel) podemos tener algo como:
compraPaqueteDeCigarrillos()
Y en javascript (lenguaje de alto nivel) podemos tener lo mismo:
compraPaqueteDeCigarrillos()
La diferencia esta en las instrucciones y mecanismos que provee el lenguaje para su implementación.