Un
lenguaje de programación de características
bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. El uso de la palabra
bajo en su denominación no implica que el lenguaje sea menos potente que un
lenguaje de alto nivel, si no que se refiere a la reducida
abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los
sistemas operativos, de aplicaciones en tiempo real o
controladores de dispositivos.