Cuál es la diferencia?
-
Hola !!
Alguien podrá quitarme esta duda? Veremos.
Qué es un lenguaje de programación para Scripts? O qué es un Script?
Son antecesores a lenguajes más potentes? Por qué se han creado?
Cuales son las diferencias entre un lenguaje de programación Script y otro que no lo es? (dejando de lado las diferencias de sintaxis)
Por ejemplo: VB y VBScript, JAVA y Javascript, y otros como CGI, Perl, etc?
Gracias!!
Saludos!! -
Hola nuevamente !!
El titulo del tema debí haberlo cambiado, ya que puede provocar malos entendidos. Realmente lo que quería saber es ¿por qué se opta por el uso de un lenguaje Script y no se utiliza un lenguaje más potente?
Los que hubieron de leer este post, se habrán preguntado: Por qué no lo busca en Google ????? !@%
Ok, eso hice.Esto resuelve parte de mi duda, me resta conocer qué es "interpretar" el código. Supongo que el "interprete" leerá y compilará las instrucciones al momento de ser invocadas en el código. Pero esto es una suposición.Los lenguajes interpretados (scripts) forman un subconjunto de los lenguajes de programación, que incluye a aquellos lenguajes cuyos programas son habitualmente ejecutados en un intérprete en vez de compilados. Sin embargo, la definición de un lenguaje de programación es independiente de cómo se ejecuten los programas en él escritos, ya sea mediante una compilación previa o a través de un intérprete.
Los lenguajes interpretados más famosos en la actualidad son:- PHP
- ASP (Hasta la versión 3)
- TCL
- Bash
- Perl (Mundo Unix y en general para todas las demás plataformas)
- Visual Basic Script (Microsoft Windows)
- JavaScript (Todas las plataformas)
- REXX y variantes como Object REXX (Todas las plataformas. En especial: OS/2 / AmigaOS)
- Python (Todas las plataformas)
- Logo (Linux Windows Mac)
- ActionScript
Prometo postear lo que aprenda.
Si alguien se copa y puede ampliar un poco el tema, enviaré, entonces, un gugol de agradecimientos.
Saludos!! -
Si, basicamente la diferencia es esa, los lenguajes interpretados no se compilan sino hasta que se usan...
Con respecto a:Lo de "lenguaje mas potente" es relativo a cada escenario... los "scripts" tiene tambien sus ventajas, son multiplataforma, solo necesitas el codigo y lo ejecutas en cualquier lado (claro que necesitas el interprete para esa plataforma, pero eso y nada mas...).Realmente lo que quería saber es ¿por qué se opta por el uso de un lenguaje Script y no se utiliza un lenguaje más potente?
Seguramente hay otras caracteristicas tambien, creo que la mas notable es esa (si alguien quiere aportar un poco mas...).
Saludos! -
Mi opinion es esta:
Interpretar un codigo en ejecutar virtualmente un codigo, digo virtual y no realmente porque lo unico que se ejecuta realmente es el codigo maquina.
Por lo tanto para interpretar un codigo debe haber un procesador virtual que lo ejecute.
Esta tecnica se empezo a utilizar, supongo, porque es mas facil y consume menos recursos hacer un interprete que un compilador, salvo en el caso de forth que es indistinto.
Otra ventaja es para ejecutar remotamente aplicaciones (javascript etc..) ya que se transmite el fuente y no el ejecutable.
Otra ventaja es poder terminar un programa y agregarle funcionalidad sin tener que compilarlo otra vez, plug-ins. -
Muchas Gracias por responder !
Aunque aún tengo algunas dudas, me han aclarado un poco el panorama con sus aportes.
Ahora pregunto:
JAVA (J2SE) es un lenguaje interpretado dado que utiliza una máquina virutal (JRE), pero ¿por qué no entra en la categoria de Script? ¿Es interpretado realmente? ¿O es compilado a un lenguaje intermedio (IL) y este es interpretado por la JRE?
Sigo investigando!!
Gracias! -
Me parece que llaman script cuando no es un lenguaje para el cpu sino para un programa, o sea, sera un lenguaje que interactue con un programa que ya esta corriendo (javascript con navegador.... plug-in con gimp... por ejemplo)
Siempre podes construir una maquina "sobre" otra maquina por lo que se complica hablar del tema.
En definitiva conviene tener en claro que el CPU o la computadora SOLO funciona con codigo de maquina, el resto esta construido arriba. - dadas mis limitaciones didacticas (jaja), bueno, dado q no me siento en condiciones de explicar y que se me entienda, recomiendo leer el capitulo 1 y 2 de Thinking in C++
Escrito por Nowhere Man
basicamente la diferencia es que los lenguajes interpretados, el interprete interpreta (valgan las redundancias)unas lineas de codigo y las transforma a codigo maquina, el programa reside en memoria y nada mas
en los lenguajes compilados, el compilador no solo traduce lineas de codigo a codigo maquina, sino que las une con librerias, y tambien con otras compilaciones u otros codigos fuentes, en sintesis "compila librerias y codigos fuentes", transformandolos en archivos ejecutables.
es muuuuuuuuuuuuuy resumido lo que dije, asi q a leer el libro para entender bien
saluT - Vos mismo lo dijiste en tu mensaje anterior...Creo que hay un error en en concepto anterior, el interprete no transforma a codigo maquina, sino que ejecuta utilizando una maquina virtual, esta maquina si estara en codigo maquina, pero el codigo ejecutado no.Si el script no se convierte en codigo de maquina no se puede ejecutar... o sea que en algun lado se tiene que transformar en codigo de maquina... no?En definitiva conviene tener en claro que el CPU o la computadora SOLO funciona con codigo de maquina, el resto esta construido arriba.
Saludos -
Viejo, lean el pdf que postie en este tema y chau dudas..
[Codigo Fuente] Compilador para Java, hecho en C++
