Los lenguajes de bajo nivel tales como el lenguaje ensamblador pueden ser más difíciles de programar que los lenguajes de alto nivel debido a que están más íntimamente relacionados con las características técnicas del hardware.