A Larry non importa proprio. Dice (in parte scherzando) che "uno script
['copione' in italiano, NdT] è ciò che si dà
agli attori. Un programma è ciò che si dà al pubblico."
Originariamente, uno script era una sequenza predefinata di comandi
di solito interattivi--dunque, un chat script. Rende bene l'idea qualcosa come un chat
script UUCP o PPP oppure un expect script, come rendono l'idea gli
script di configurazione eseguiti da un programma alla sua partenza come per esempio
.cshrc o .ircrc . I chat script erano semplicemente dei driver per programmi
esistenti, non programmi propriamente a sé stanti.
Un informatico spiegherà correttamente che tutti i programmi sono
interpretati e che l'unica questione è a quale livello essi lo sono.
Ma se lo chiedete a qualcuno che non è un informatico, potrebbero
dirvi che un programma è stato compilato in codice macchina una
volta e che può poi essere eseguito più volte, mentre uno
script deve essere tradotto da un programma ogni volta che viene usato.
I programmi Perl non sono (di solito) né strettamente compilati né
strettamente interpretati. Possono essere compilati in una forma di
byte-code (qualcosa come una macchina virtuale Perl) o in linguaggi
completamente diversi, come C o assembly. Non potete dire, semplicemente
guardando il programma, se il sorgente è destinato ad un interprete
puro, ad un interprete parse-tree, ad un interprete byte-code, ad un
compilatore in codice nativo, e dunque è difficile offrire qui una
risposta definitiva.
Ora che "script" e "scripting" sono termini di cui si sono impadroniti
personaggi di marketing ignoranti o senza scrupoli per i loro scopi
nefasti, essi hanno iniziato ad assumere significati strani e spesso
peggiorativi, come "non serio" o "non vera programmazione". Di conseguenza,
alcuni programmatori Perl preferiscono evitarli del tutto.
|