ejemplo_programaEs un lenguaje diseñado para expresar instrucciones que deben ser ejecutadas por un ordenador. Por tanto, los lenguajes de programación pueden ser usados para crear programas que controlen el funcionamiento de un ordenador.

Dichos lenguajes están formados por un conjunto de símbolos y de una serie de reglas sintácticas y semánticas para definir qué estructuras son válidas y cuál es su significado.

Los procesadores usados en los ordenadores sólo son capaces de entender y actuar según lo indican programas escritos en un lenguaje llamado lenguaje máquina. Cada tipo de procesador tiene su propio lenguaje máquina. Por ejemplo, un PC con un procesador Intel tiene un determinado lenguaje máquina, y un ordenador Macintosh con un procesador PowerPC tendrá otro lenguaje máquina diferente, al igual que las consola de juegos (PlayStation, XBox, Wii, etc).

El lenguaje máquina es una secuencia de valores binarios (formados por dos posibles valores), ya que los ordenadores sólo pueden operar distinguiendo dos posibles estados, por ejemplo, recibir un impulso eléctrico y no recibirlo. Para que los humanos podamos operar de alguna manera con ese tipo de lenguaje, se utiliza un sistema numérico binario en el que se utilizan únicamente los valores 0 y 1. De esta forma podemos decir que un 0 podría indicar que no hay impulso eléctrico y un 1 podría significar que sí lo hay. De esta forma un posible ejemplo imaginario de una instrucción máquina podría ser 011001000011, que podría significar que sume los valores 4 y 3.

Evidentemente, utilizar ese tipo de lenguaje para los humanos es muy incómodo, aunque para los ordenadores sea lo mejor. Por ello surgen los lenguajes de programación con el fin de acercar el lenguaje máquina al tipo de lenguaje que solemos utilizar. Un ejemplo imaginario de una instrucción basada en un lenguaje de programación podría ser algo como: ADD 4, 3 que realizaría la misma operación que la anterior, pero para nosotros puede ser mucho más inteligible.

El problema que surge es que los lenguajes de programación deben ser comprensibles por el ordenador, por lo que debe utilizarse un traductor que convierta las instrucciones que contiene un programa escrito en un determinado lenguaje de programación al lenguaje máquina que utiliza directamente el ordenador. Ese traductor suele ser un tipo de programa llamado compilador o intérprete.

ciclo_desarrollo

Por ejemplo, un programa que muestre en el monitor del ordenador el saludo "Hola Mundo!" en lenguaje máquina de un PC, podría ser algo como esto representado en binario:

11101011 00010010
01001000 01101111 01101100 01100001 00100000 01001101 01110101 01101110 01100100 01101111 00100001 00100100
10110100 00001001
10111010 00000010 00000001
11001101 00100001
10110100 00000000
11001101 00100001

En cambio, ese mismo programa es mucho más claro para nosotros si utilizamos un lenguaje de programación como Java:

class HolaMundo {
public static void main(String args[]) {
System.out.println("Hola Mundo!");
}
}

En la página Ejemplos de implementación del Hola mundo en diferentes lenguajes puedes encontrar más ejemplos de este mismo programa, escrito en multitud de lenguajes de programación