What is scripting?

Scripting is writing (usually quite small) programs for gluing together software tools, like simulation programs, visualization programs, and data/image analysis software. Usually scripting is used to automate manual work with the computer and present digested results in the most appropriate readable form (e.g. graphs, animations, web pages, video). Without scripting, you are less efficient, your work is more boring, and your results are less reliable.

Scripting is actually more than automating boring computer work. Scripting means programming with scripting languages, like Perl, Python, or Tcl. These languages enable programming at a higher abstraction level than plain C or Fortran code. For example, a three-line text-processing task in a scripting language quickly expands to ten or hundred statements if you express it in C or Fortran. A typical script is also significantly shorter than the equivalent C++ or Java code.

And scripting languages are even better than this: There are tools that can automatically wrap your existing Fortran, C, or C++ libraries with scripting interfaces in Perl, Python, or Tcl. This means that you can call your number-crunching functions directly from a script. With the capabilities of object-oriented programming in e.g. Python, you can restructure your "dusty deck" Fortran software in a modern way, while still utilizing all your intricate and well-tested numerics. Concurrent simulation and visualization with possibilities for stopping the computations, altering parameters, and restarting the computations, is quite easily enabled.

Scripting languages have very simple-to-use tools for generating a graphical user interface (GUI). In practice this means that you can write a script and in a few yours equip it with a GUI such that others in your group, or students, can easily start using your tool. One convenient application of scripts with GUIs is to restrict the interface to comprehensive simulation and visualization tools, e.g., by providing a couple of sliders for the relevant input parameters in the example and a "simulate" and "visualize" button.

People who have learned a scripting language perform most of their computer work, including programming, through scripts unless extreme numerical efficiency is needed. That is, they use Perl or Python as a more productive C, C++, Fortran, or Java.