viernes, 2 de julio de 2010

Compilacion vr. Interpretacion

Debemos tener claro las generaciones de codigo que existen, las cuales vamos a resumir como primer generacion es el codigo de maquina, el unico entendible por la computadora. Segunda generacion es el codigo ensamblador o de tres direcciones. La tercera generacion de codigo son los lenguajes estructurados y orientados a objetos, La cuarta generacion son los lenguajes que no se ejecutan ordenes sino se solicita funcionalidad y el lenguaje genera el resultado tipo SQL.

Todas estas generaciones a escepcion de la primera generacion, deben ser compilados/interpretados para llegar a el mas bajo nivel que seria la primer generacion, donde el codigo son ceros y unos que son la unica instruccion que entiende la computadora.

Compilacion:
+ Se ejecuta con mas velocidad
+ Se compila una vez y se ejecuta muchas veces.
- Ocupa menos espacio en memoria
- La compilacion es para un equipo con una arquitectura especifica, es decir, la compilacion es dependiente de la plataforma.

FUENTE -> TRADUCCION -> OBJETO -> EJECUTABLE

Interpretacion:
+ Proporciona buen soporte para la depuracion.
+ Facil de identificar el error en el codigo.
+ Programas idependientes de la plataforma.
- Las aplicaciones interpretadas ocupan mas espacio en memoria y requieren mas CPU.
- La velocidad de ejecucion es menor que la de un programa compilado.

FUENTE -> INTERPRETE -> INSTRUCCION PARA LA MAQUINA VIRTUAL



.Net
1. Se escribe el archivo con codigo (C#, J#, Visual Basic) en el entorno de desarrollo.
2. Se compila el proyecto con el compilador llamado IL_Compiler
3. Este utiliza CTS (Common Type System) sistema de compatibilidad ante multiples lenguajes.
4. Esta compilacion genera el codigo intermedio MSIL.
5. Se instala la maquina virtual que se llama Excecution Support.

Java
1. Se escribe el archivo con codigo java y se guarda como nombre.java
2. Se compila nombre.java con el compilador llamado JAVAC.ç
3. La compilacion devuelve el codigo intermedio ByteCode, este es libre de plataforma.
4. Se instala una MAQUINA VIRTUAL DE JAVA, especifica para cada plataforma.
5. Sobre esa maquina virtual especifica de la plataforma se ejecutan los ByteCode para hacer uso de la aplicacion.

Nota:
.Net y Java son semejantes desde el punto de vista que ambos son compilados inicialmente y posteriormente interpretados por sus respectivas maquinas virtuales.
La diferencia radica en que java utiliza la maquina virtual con el objetivo de hacer sus aplicaciones multiplataforma mientras que .net utiliza su maquina virtual para integrar multiples lenguajes de programacion.

No hay comentarios:

Publicar un comentario