These languages are oriented toward single tasks of limited complexity, varying natures, perhaps spanning across networked systems. Scripting languages are chiefly evolved toward the goal of increasing programmer productivity, which can often mean sacrificing efficiency and elegance (because scripts might only be run a couple of times anyway, or only periodically and for short amounts of time). For example, many tedious tasks can be automated, freeing the programmer to do more creative activities. The 'Scripting' derives from the everday occupation of UNIX (and other) system administrators who write adhoc scripts to perform various tasks such as report generation, file copy and installation across a network etc. These scripts vary from a loose collection of commands listed in sequence in a batch file to full programs in scripting languages like Perl.
Shell scripting may be considered as the first programming activity in this genre leading to dedicated languages embodying these principles. Scripting languages typically have simplified but powerful file-handling constructs, regular expression constructs, associative arrays and other data structures built in.