Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Complejidad vs dificultad
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. Además estos suelen carecer de abstracciones
de mayor nivel. No es posible una abstracción fuera de lo estipulado para el conjunto
del microcódigos del microprocesador de un ordenador. Por otro lado, es más fácilmente
traducible a lenguaje de máquina, tarea que realiza esencialmente un compilador.
De menor a mayor nivel de abstracción respecto del hardware es posible clasificar los
lenguajes de programación de la siguiente manera:
Interacción máquina[editar]
En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al
más fino detalle, además, está completamente orientado a la máquina.
Primera generación[editar]
El lenguaje de programación de primera generación (por sus siglas en inglés: 1GL), es
el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de
forma nativa. El lenguaje máquina al constar de unos y ceros, es de difícil lectura y gran
probabilidad de equivocación al ingresarlo, por lo tanto es raro que una persona lo use
directamente.
Las instrucciones en lenguaje máquina, constan de una o dos memorias de instrucción, y otras
memorias con datos (ver artículo modos de direccionamiento)
Índice de
Binario Hexadecimal Significado
memoria
Segunda generación[editar]
El lenguaje de programación de segunda generación (por sus siglas en inglés: 2GL), es
el lenguaje ensamblador. El avance respecto al anterior, es que en vez de llanos unos y ceros,
se tienen mnemónicos ya escritos como un texto, y datos visibles a un lado del mnemónico.
En este se requiere de un programa que traduzca los mnemónicos a lenguaje máquina.
Un programador de lenguaje ensamblador debe conocer la arquitectura del procesador (como
por ejemplo las particularidades de sus registros o su conjunto de instrucciones).
Ejemplo de código ensamblador en el recuadro morado. Abajo, en el recuadro rojo se muestra un texto
codificado en hexadecimal en código ASCII.