¿Qué necesito para programar?
Para programar necesitas como mínimo:
- un editor que escriba texto plano en un fichero (p.ej: el notepad) y
- dependiendo del tipo de lenguaje se necesita un compilador, un compilador y una máquina virtual o un intérprete.
Compilador (C/C++)
Este es el caso de C o C++.
Pasas lo que has programado al compilador y te lo convierte a lenguaje máquina (1010101....
)
Compilador + Máquina Virtual (Java)
-
Pasas código que has escrito al compilador.
-
Éste genera un código muy parecido al de la máquina, pero que no es comprensible todavía por la máquina (no es ensamblador tampoco). Este código sólo lo entiende por la máquina virtual.
-
Cuando ejecutas un programa de este tipo, se ejecuta sobre la máquina virtual y es la máquina virtual quien traduce a la máquina de real (la que habla con el ordenador).
Ventajas
Puedes ejecutarlo en cualquier sitio que tengas una máquina virtual instalada (tu ordenador, tu móvil, una lavadora...)
Desventajas
Es más lento, porque en la ejecución la máquina virtual va traduciendo a lenguaje máquina al vuelo.
Intérprete (Python, Ruby, Perl...)
Tu código es directamente interpretado por una especie de máquina virtual, no tienes que compilar, directamente el intérprete va traduciendo al vuelo tu código en python a lenguaje máquina.
En teoría es más lento que Java, en la práctica no.