Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: fixion en 28 Junio 2014, 03:11 am



Título: [duda] leng. Interpretado o compilado ?
Publicado por: fixion en 28 Junio 2014, 03:11 am
hola, este es el primer post que hago en el foro, y es que tengo una duda que me gustaria que me resuelvan !!
cual es la diferencia o caracteristica entre un lenguaje compilado y un lenguaje interpretado ??? yo hasta uso pascal y por lo que se es un lenguaje compilado.. osea un software (en mi caso dev-pascal) traduce el codigo en pascal a codigo en maquina...
como es el tema con un leng. interpretado ??


Título: Re: [duda] leng. Interpretado o compilado ?
Publicado por: engel lex en 28 Junio 2014, 03:16 am
un lenguaje interpretado como html, jscript, php, batch, vbs, etc... es un script (un "guión") bajo el que se va a comportar un programa, es decir, nunca pasa al código maquina


Por ejemplo el jscript nunca es codigo maquina, sin embargo el navegador lo interpreta y asume conductas según el indique, cumpliendo las caracteristicas de un lenguaje de programacion


Título: Re: [duda] leng. Interpretado o compilado ?
Publicado por: Eleкtro en 28 Junio 2014, 09:04 am
Hola

Aparte de lo que te han explicado, un lenguaje interpretado necesita de un archivo al que llamamos "intérprete", y que como su nombre indica se encarga de interpretar las instrucciones (el contenido escrito) del script, por ejemplo, Batch necesita a la CMD para traducirse, Python necesita a py.exe/pyw.exe, Ruby necesita a rb.exe/rbw.exe, etc... mientras que un lenguaje compilado es traducido a instrucciones nativas que solo requieren la ejecución del hardware/OS.

Otra cosa que hay que tener en cuenta es que, un lenguaje compilable es un lenguaje compilado, y un lenguaje que no es compilable es un lenguaje interpretado,
pero a esto añadiria que, no se debe confundir a un empaquetador/conversor de exe con lo que es un compilador, porque es algo que se suele hacer mucho.

Saludos


Título: Re: [duda] leng. Interpretado o compilado ?
Publicado por: scott_ en 28 Junio 2014, 09:20 am
Que onda,

Al fin, una pregunta coherente con forme al titulo de la web!!!  :D
Colega todo lo que te han dicho es correcto, tu has dicho que querias caracteristicas no?

Bueno, para empezar las ventajas de los lenguajes interpretados...

Portabilidad: Esta es la principal ventaja que presenta este tipo de lenguajes, porque puede ser compilado en y para cualquier plataforma o sistema operativo.
   
Compatibilidad: al ser interpretado por el sistema operativo, es la máquina virtual o framework el que se encarga de que las intrucciones sean ejecutadas por el software y el hardware.

Desventajas de los lenguajes interpretados

Velocidad: Es el aspecto más notable y el cual se debe evaluar a fondo al crear software con este tipo lenguajes, pues se debe equilibrar la portabilidad con la velocidad que se está sacrificando. A menos que las prestaciones de los equipos informáticos sean bastante altas, en el caso cual, se podría despreciar este aspecto.

Portabilidad: es una desventaja también. El problema radica en que en la actualidad, asi todos los lenguajes compilados, existen para todas las plataformas, no así las máquinas virtuales o frameworks, aunque en el caso de Java, se ha hecho un excelente trabajo en cuanto a eso y no me puedo quejar, existe para casi todas las plataformas, por no decir todas, actuales. El .NET framework, lamento decir que en la actualidad, se encuentra ciento por ciento probado solo en Windows, aunque existen proyectos que prometen tal portabilidad, aunque todavía no son un hecho.

Total, en conclusión, ¿cómo actuar?. No es muy difícil. Se evalúan los requerimientos, se definen necesidades, si éstas no superan el hardware a usar, perfectamente se puede proseguir, de lo contrario, es mejor pensar en un lenguaje compilado, pues os lenguajes interpretados exigen gran cantidad de recursos especialmente RAM y procesador. Deberían aprovecharse los lenguajes interpretados hasta donde sea posiblem pues en pocos años o incluso meses, entrarán en vigor y serán (¿o son?) el nuevo estándar de desarrollo.
Continua así colega  ;D