2010-02-18 44 views
55

¿Cuál es la diferencia entre un script y un programa? La mayoría de las veces escucho que se está ejecutando un script, ¿no es un programa? Estoy un poco desconcertado, ¿alguien puede dar más detalles sobre esto?¿Diferencia entre un script y un programa?

Respuesta

3

Los scripts generalmente son interpretados (por otro ejecutable).

Un programa es por lo general un independiente ejecutable compilado por derecho propio (aunque puede tener dependencias de la biblioteca), que consiste en códigos de código máquina o bytes (para programas compilados just-in-time)

10

Ver:

The Difference Between a Program and a Script

un guión es también un programa pero sin una capa opaca que oculta el (código fuente), mientras que un programa es uno que tiene la ropa, no se puede ver el código fuente que es menos que sea decompilable.

Los scripts necesitan otros programas para ejecutarlos mientras que los programas no los necesitan.

+7

Este enlace ahora 404s. –

0

Un marco u otro esquema similar ejecutará/interpretará un script para realizar una tarea. Un programa es compilado y ejecutado por una máquina para hacer una tarea

0

OMI la escritura - es el tipo de instrucción que programar supone que salen Programa - Se tipo de instrucción que el hardware supone que salen

aunque supongo códigos de bytes .NET/Java son guiones de esta definición

38

Para mí, la diferencia principal es que un guión se interpreta , mientras que un programa se ejecuta (es decir, la fuente se compila en primer lugar, y el resultado de esa compilación es esperada).


Wikipedia parece estar de acuerdo conmigo en esto:

Script:

"Scripts"

son distintos de los del código del núcleo de la aplicación, que es suele escribir de una manera diferente idioma, y ​​a menudo se crean o en menos modificado por el usuario final.
Los scripts a menudo se interpretan desde código fuente o código de bytes, mientras que las aplicaciones que ellos controlan son tradicionalmente compiladas al código máquina nativo .

Program:

El programa tiene una forma ejecutable que el equipo puede utilizar directamente a ejecutar las instrucciones.
El mismo programa en su código fuente de lectura humana , desde el que se derivan los programas (p. Ej., compilado)

+3

-1 porque la wikipedia siempre tiene la razón. La distinción entre compilado e interpretado no es relevante para la discusión. –

+2

Usted dice "(es decir, la fuente se compila primero y se espera el resultado de esa compilación)". ¿Quieres decir "se ejecuta la compilación"? –

10

Normalmente, un script es una herramienta liviana, de construcción rápida, posiblemente de un solo uso. Generalmente se interpreta, no se compila. Python y bash son ejemplos de idiomas utilizados para compilar scripts.

Un programa está construido en un lenguaje compilado, como C o C++, y por lo general se ejecuta más rápido que un script por ese motivo. Las herramientas más grandes a menudo se escriben como "programas" en lugar de scripts; las herramientas más pequeñas se desarrollan más fácilmente como scripts, pero las secuencias de comandos pueden volverse difíciles de manejar a medida que crecen. Los lenguajes de aplicación y de sistema (los utilizados para crear programas/aplicaciones) tienen herramientas para facilitar el crecimiento.

Por lo general, puede ver una secuencia de comandos en un editor de texto para ver lo que hace. No se puede hacer eso con un programa ejecutable; las instrucciones de este último se han compilado en un código de bytes o en un lenguaje de máquina que hace que sea muy difícil de entender para los humanos, sin herramientas especializadas.

Tenga en cuenta el número de "oftens" y "usuallys" anteriores, los términos son nebulosos, y se cruzan a veces.

1

En realidad, hay dos dimensiones en las secuencias de comandos contra la realidad del programa:

  1. es el lenguaje lo suficientemente potente, sobre todo en las operaciones de cadena, para competir con un procesador de macros como la cáscara POSIX y en particular fiesta? Si no es mejor que bash para ejecutar alguna función, no tiene mucho sentido usarla.

  2. ¿Es el idioma conveniente y rápido comenzó? Java, Scala, JRuby, Closure y Groovy son todos lenguajes potentes, pero Java requiere una gran cantidad de plantillas repetitivas y la JVM que todos ellos requieren solo lleva demasiado tiempo para iniciarse.

otoh, Perl, Python, y Rubí todo en marcha rápidamente y tienen operaciones de manipulación de cadenas de gran alcance (y casi todo lo demás-manejo), por lo que tienden a ocupar el a veces disparaged- mundo de "scripting" pero no fácilmente invadido. Resulta que hacen bien en ejecutar programas tradicionales completos también.

Dejados en el limbo son idiomas como Javascript, que no se utilizan para scripting pero potencialmente podrían serlo. Actualización: ya que esto fue escrito node.js fue lanzado en múltiples plataformas. En otras noticias, la pregunta fue cerrada. "Oh bien."

31

Tomo una vista diferente.

Un "script" es un código que actúa sobre un sistema de manera externa o independiente y puede eliminarse o deshabilitarse sin deshabilitar el sistema.

Un "programa" es un código que constituye un sistema. El código del programa puede estar escrito de forma modular, con una buena separación de preocupaciones, pero el código es fundamentalmente interno y una dependencia del propio sistema.

Los guiones a menudo se interpretan, pero no siempre. Los programas a menudo se compilan, pero no siempre.

2

Según mi punto de vista, la diferencia principal entre la escritura y el programa:

secuencias de comandos se puede utilizar con las otras tecnologías. Ejemplo: scripts PHP, Javascripts, etc. se pueden usar dentro de HTML.

Los programas son trozos independientes de código que nunca pueden integrarse en otras tecnologías.

Si me equivoco en cualquier lugar por favor corrígeme. Admiro su corrección.

6

Un "programa" en general, es una secuencia de instrucciones escritas para que una computadora pueda realizar cierta tarea.

Un "script" es un código escrito en un lenguaje de scripting. Un lenguaje de scripting no es más que un tipo de lenguaje de programación en el que podemos escribir código para controlar otra aplicación de software.

De hecho, los lenguajes de programación son de dos tipos:

a. Lenguaje de scripting

b. Compilado Idioma

favor, lea esto: Scripting and Compiled Languages

0

guión: Contiene un conjunto de instrucciones "del lenguaje de scripts" que controla, se ejecuta otros programas del sistema, las aplicaciones también puede ser programado.

Programa: contiene un conjunto de instrucciones, que realiza ciertas tareas al compilar el programa con el compilador.

Cuestiones relacionadas