El lenguaje que entienden las computadoras es el lenguaje maquina, en el que las instrucciones están formadas por dos campos:
Código de operación: que indica la maquina la operación a realizar.
Operandos: indica la dirección de memoria donde se encuentran los operandos o el valor de dichos operandos directamente.
EJEMPLO
JMP03FH
El primer campo indica salto (JMP) y el segundo campo indica la dirección de salto: en este caso, 03F en hexadecimal.
El lenguaje máquina esta totalmente ligado al hardware en donde se vaya a ejecutar, es decir, un programa en lenguaje máquina realizado para un determinado procesador nunca funcionará en otro distinto. Además, el lenguaje máquina sólo nos permite realizar operaciones muy simples tales como saltos, sumas y restas, lo que implica un programación demasiado laboriosa para implementar cualquier algoritmo, siendo necesario, además, conocer las peculiaridades del hardware que se pretende manejar.
Parea evitar estos problemas y facilitar la tarea de programación, surgen los lenguajes de alto nivel, que no dependen de la plataforma de hardware en donde se vayan a ejecutar y, además, presentan instrucciones más complejas y potentes.
Ejemplo: BASIC, Visual BASIC, Fortran, C, C++, Visual C, etc.
Existen programas traductores que se encargan de transformar cada programa en lenguaje de alto nivel o lenguaje máquina llamados compiladores