¿Cuál es la diferencia entre una macro y un script?

10

¿No son ambas un conjunto de instrucciones ejecutadas por algún intérprete? (Contrariamente a un programa completo, que se ejecuta (se ejecuta) en algún sistema informático?

Quora Feans
fuente

Respuestas:

10

Básicamente, la diferencia es solo de grado. Una secuencia de comandos tiende a estar mucho más formalmente definida, con un lenguaje de secuencias de comandos bien definido detrás de ella, mientras que una macro suele ser algo más simple y ad-hoc. Con frecuencia, las macros se "graban" diciéndole a un programa "ver todo lo que hago" y luego realizando la acción, mientras que las secuencias de comandos generalmente se ingresan como texto en el lenguaje de secuencias de comandos.

Mason Wheeler
fuente
44
A menos que el OP pregunte sobre macros como las macros de preprocesador C o las macros LISP.
FrustratedWithFormsDesigner
1
@ Frustrado: Sí, pero por el contexto no parece que eso sea lo que está preguntando.
Mason Wheeler
7

Las macros vienen en diferentes sabores.

El tipo original era macros en lenguaje ensamblador, donde se podía nombrar un grupo de instrucciones y cada vez que se usaba el nombre, las instrucciones se sustituían por el nombre.

C y C ++ también tienen macros que funcionan de esta manera.

Pero como con la mayoría de las cosas en TI, ¿por qué tener un término o un significado cuando podemos hacer las cosas más confusas? Entonces, algunos entornos (comenzando con MS Word, creo) introdujeron "macros" que eran un conjunto de acciones grabadas.

Entonces hay dos tipos de macro. El primero se sustituye por el nombre y luego se compila. El segundo generalmente es interpretado en tiempo de ejecución por el entorno.

andy256
fuente
4

Macro

El uso común de las macros es en aplicaciones de software, y se originaron como una herramienta para asignar la entrada del usuario a un conjunto diferente de salida del usuario. El aspecto clave aquí es el cambio de entrada / salida del usuario a nivel de aplicación. Dado que la entrada del usuario tiende a estar relacionada con teclados, mouse y otros dispositivos. La salida modificada por la macro a menudo fue previamente grabada por uno de esos dispositivos. También hay macros que puede escribir el usuario, pero el objetivo suele ser obtener el resultado deseado.

Guión

Si las macros son para la salida de la aplicación, los scripts son para la automatización de la aplicación . Los scripts suelen ser un lenguaje de programación específico de la aplicación que automatiza las tareas para el usuario. La clave aquí es el papel del usuario como programador y el hecho de que los usuarios no son programadores. Si clasifica los lenguajes de secuencias de comandos como aquellos que no se compilan, se analizan y son fáciles de usar, existen muchos idiomas que cumplen con esos requisitos. Sostengo que los lenguajes de scripting son los más fáciles para los usuarios de aplicaciones para automatizar el software con la menor cantidad de conocimiento de programación. Así es como deberían clasificarse como scripts. Cualquier cosa que requiera conocimiento especializado fuera del dominio de la aplicación es solo una herramienta de programación.

Reactgular
fuente