jueves, 18 de noviembre de 2010

Lengajes Script

Materia: Lenuajes de programacion

Un script (cuya traducción literal es guión) o archivo de órdenes o archivo de procesamiento por lotes es un programa usualmente simple, que por lo regular se almacena en un archivo de texto plano. Los script son casi siempre interpretados, pero no todo programa interpretado es considerado un script. El uso habitual de los scripts es realizar diversas tareas como combinar componentes, interactuar con el sistema operativo o con el usuario. Por este uso es frecuente que los shells sean a la vez intérpretes de este tipo de programas.

Los archivos script suelen ser identificados por el sistema a través uno de los siguientes encabezamientos en el contenido del archivo:

#!/bin/bash ; #!/bin/ksh ; #!/bin/csh

Aunque en entornos *NIX la mayoría de los scripts son identificados por dicho encabezamiento, también pueden ser identificados a través de la extensión ".sh", siendo ésta quizá menos importante que el encabezamiento, ya que casi todos los sistemas no necesitan dicha extensión para ejecutar el script, por lo tanto, esta suele ser añadida por tradición, o más bien, es útil para que el usuario pueda identificar estos archivos a través de una interfaz de línea de comandos..

Difieren de los programas de aplicación, debido a que los últimos son más complejos; además, los scripts son más bien un programa que le da instrucciones a otros más avanzados.
Un lenguaje de script es un pequeño lenguaje de programación cuyo código se inserta dentro del documento HTML. Este código se ejecuta en el navegador del usuario al cargar la página, o cuando sucede algo especial como puede ser el pulsar sobre un enlace.

Estos lenguajes permiten variar dinámicamente el contenido del documento, modificar el comportamiento normal del navegador, validar formularios, realizar pequeños trucos visuales, etc... Sin embargo, conviene recordar que se ejecutan en el navegador del usuario y no en la máquina donde estén alojadas, por lo que no podrán realizar cosas como manejar bases de datos. Esto hace que los contadores (por ejemplo) se deban realizar de otra manera, utilizando programas CGI.

El primer lenguaje de script que vió la luz fue el JavaScript de Netscape. Nacido con la versión 2.0 de este navegador y basado en la sintaxis de Java.Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay los lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador causarán una carencia de la eficacia. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de intérprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script.

Muchos lenguajes han sido implementados usando tanto compiladores como intérpretes, incluyendo Lisp, Pascal, C, BASIC, y Python. Mientras que Java es traducido a una forma que se destina a ser interpretada, la compilación justo a tiempo es frecuentemente usada para generar el código de máquina. Los lenguajes de Microsoft .NET compilan a una forma intermedia (CIL) la cual es entonces a menudo compilada en código de máquina nativo; sin embargo hay una máquina virtual capaz de interpretar el CIL. Muchas implementaciones Lisp pueden mezclar libremente código interpretado y compilado. Estas implementaciones también usan un compilador que puede traducir arbitrariamente código fuente en tiempo de ejecución (runtime) a código de máquina.

Ventajas de los lenguajes interpretados.

Los lenguajes interpretados dan a los programas cierta flexibilidad adicional sobre los lenguajes compilados. Algunas características que son más fáciles de implementar en intérpretes que en compiladores incluyen, pero no se limitan, a:


• independencia de plataforma (por ejemplo el byte code de Java)


• reflexión y uso reflexivo del evaluador (ej. una función eval de primer orden)


• tipos dinámicos


• facilidad en la depuración (es más fácil obtener información del código fuente en lenguajes interpretados)


• pequeño tamaño del programa (puesto que los lenguajes interpretados tienen flexibilidad para elegir el código de instrucción)


• ámbito dinámico


• gestión de memoria automática


Desventajas de los lenguajes interpretados.
La ejecución del programa por medio de un intérprete es usualmente mucho menos eficiente que la ejecución de un programa compilado. No es eficiente en tiempo porque, o cada instrucción debe pasar por una interpretación en tiempo de ejecución, o como en más recientes implementaciones, el código tiene que ser compilado a una representación intermedia antes de cada ejecución. La máquina virtual es una solución parcial al problema de la eficiencia del tiempo pues la definición del lenguaje intermedio es mucha más cercana al lenguaje de máquina y por lo tanto más fácil de ser traducida en tiempo de ejecución. Otra desventaja es la necesidad de un intérprete en la máquina local para poder hacer la ejecución posible.

Ejemplos de algunos lenguajes de script son:
VBScript: Implementación de Visual Basic para crear aplicaciones para Internet Explorer.


• JScript: Implementación de Microsoft del lenguaje de scripting basado en Java.


• JavaScript: Lenguaje de elaboración de scripts para incrustarse en archivos HTML, que es con diferencia el lenguaje de script más usado en Internet.


• ActionScript: Lenguaje de script de Macromedia para la aplicación Flash.


• ECMAScript: Lenguaje de scripting que soporta el estándar ECMA-262 (European Computer Manufacturers Association).

Ejemplos:
Este es un ejemplo en python (interprete) del factorial de un numero :


 
Este es un ejemplo de fibonacci en perl:


 
Bibliografias:
http://www.publispain.com/supertutoriales/diseno/html/cursos/7/script.html
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_interpretado



 

1 comentario: