Lenguaje Compilado e Interpretado

martes, 17 de diciembre de 2013



"Desde muchos puntos de vista aprender a programar es toda una disciplina,  que requiere nuestro mejor tiempo y dedicación."

 

La principal razón por que las personas aprenden lenguajes y técnicas  de programación es utilizar la computadora  como una herramienta para resolver problemas.
Como hemos mostrado en publicaciones anteriores, la programación no es una ciencia  de conocimientos lineales, es decir, existen muchas ramas  en  las cuales podemos desempeñarnos.  Entre ellas aplicaciones web, móviles o de escritorio.
Primero que nada  debemos adquirir cientos conceptos y herramientas  básica para iniciar, a continuación mostrare algunos de ellos que son de mucha utilidad.

Lenguaje de programacion:


Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.

Lenguaje Compilado


Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Compilador:

Se puede describir de una manera  general que un compilador es un conjunto de herramientas y programas  que traduce un texto que básicamente  es un código fuente, escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras  llamado código objeto, que este a su vez es equivalente a un lenguaje que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto.
De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora
Tipos de compiladores:
Compiladores cruzados: generan código para un sistema distinto del que están funcionando.
Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente.
Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.
Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.




Lenguaje Interpretado


Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. Los cuales permiten tener una aplicación multiplataforma. En vez de traducir el programa fuente y grabar en forma permanente,   el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativos, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario.

Interprete:

Describiremos  intérprete en términos de informática,  como aquel que es capaz de traducir  un código fuente en lenguaje máquina también. El intérprete se diferencia del compilador en que el ejecuta forma ordenada cada instrucción una vez que se traduce. Este proceso puede causar que sea más lenta la ejecución del programa, así que los intérpretes se utilizan menos que los compiladores. La interpretación comparte muchos aspectos con el compilador. Los análisis léxico, sintáctico y verificación de tipos son exactamente los mismos que en un compilador.

Pero en lugar de generar código del árbol sintáctico, el árbol sintáctico se procesa directamente para evaluar expresiones y ejecutar sentencias, y así hasta terminar. Un intérprete puede necesitar evaluar la misma parte del árbol sintáctico varias veces (por ejemplo cuando se hacen ciclos), por eso la interpretación puede ser más lenta que la ejecución de un programa compilado. Pero escribir un intérprete es más fácil de mover a una máquina diferente, así que para aplicaciones donde la velocidad no importa, lo mejor es utilizar un intérprete.



Ventajas y Desventajas


•Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
•Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente.
•Un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces).
•Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres.
Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos.
•Los lenguajes compilados, que permiten el uso de un compilador, prescinden de este tipo de operadores.




0 comentarios :

Publicar un comentario

 
Taller de desarrollo c++ © 2013 | Designed by Alexander C.P , in collaboration with cienciaeducacion100 , Ciencias y Sistemas and cienciaeducacion100@gmail.com