scripting – Difference between a script and a program?

scripting – Difference between a script and a program?

For me, the main difference is that a script is interpreted, while a program is executed (i.e. the source is first compiled, and the result of that compilation is expected).

Wikipedia seems to agree with me on this :

Script :

Scripts are distinct from the core
code of the application, which is
usually written in a different
language, and are often created or at
least modified by the end-user.

Scripts are often interpreted from
source code or bytecode, whereas the
applications they control are
traditionally compiled to native
machine code.

Program :

The program has an executable form
that the computer can use directly to
execute the instructions.
The same
program in its human-readable source
code form, from which executable
programs are derived (e.g., compiled)

I take a different view.

A script is code that acts upon some system in an external or independent manner and can be removed or disabled without disabling the system itself.

A program is code that constitutes a system. The programs code may be written in a modular manner, with good separation of concerns, but the code is fundamentally internal to, and a dependency of, the system itself.

Scripts are often interpreted, but not always. Programs are often compiled, but not always.

scripting – Difference between a script and a program?

Typically, a script is a lightweight, quickly constructed, possibly single-use tool. Its usually interpreted, not compiled. Python and bash are examples of languages used to build scripts.

A program is constructed in a compiled language, like C or C++, and usually runs more quickly than a script for that reason. Larger tools are often written as programs rather than scripts – smaller tools are more easily developed as scripts, but scripts can get unwieldy as they get larger. Application and system languages (those used to build programs/applications) have tools to make that growth easier to manage.

You can usually view a script in a text editor to see what it does. You cant do that with an executable program – the latters instructions have been compiled into bytecode or machine language that makes it very difficult for humans to understand, without specialized tools.

Note the number of oftens and usuallys above – the terms are nebulous, and cross over sometimes.

Leave a Reply

Your email address will not be published.