Dicotomia di Ousterhout

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

La Dicotomia di Ousterhout è un teorema dello scienziato informatico John Ousterhout[1].

Descrizione[modifica | modifica wikitesto]

Il teorema dice che i linguaggi di programmazione ad alto livello cadono in due gruppi, ognuno con diverse proprietà e usi: Linguaggio di programmazione di sistema e Linguaggio di scripting. Questa distinzione è alla base della progettazione del suo linguaggio Tcl.

I linguaggi di programmazione di sistema, o linguaggi applicativi, di solito hanno le seguenti proprietà:

I linguaggi di programmazione di sistema generalmente sono utilizzati per i componenti e le applicazioni con grandi quantità di funzionalità interne come i sistemi operativi, database server e browser web. Queste applicazioni in genere utilizzano complessi algoritmi e strutture di dati e richiedono alte prestazioni. Esempi prototipici di linguaggi di programmazione di sistema includono C e Modula-2. Al contrario i linguaggi di scripting (o linguaggi collante) generalmente hanno le seguenti proprietà:

I linguaggi di scripting sono generalmente utilizzati per applicazioni in cui la maggior parte delle funzionalità viene da altri programmi, spesso implementati in linguaggi di programmazione di sistema. Gli script vengono utilizzati per incollare insieme le chiamate a programmi esterni e i costrutti nativi del linguaggio di scripting in un unico programma o aggiungere ulteriori livelli di funzionalità a programmi esistenti. L'asserzione di Ousterhout che gli script generalmente sono brevi e sono spesso scritti da programmatori meno qualificati e per cui l'efficienza di esecuzione è meno importante della semplicità e della facilità di interazione con altri programmi. Le applicazioni più comuni per lo scripting includono la generazione di pagine Web, la generazione di report, le interfacce grafiche, e l'amministrazione del sistema. Esempi tipici di linguaggi di scripting sono Bash, AppleScript, C shell, DOS File batch, e Tcl.

Altri ritengono che la dicotomia sia altamente arbitraria e si riferiscono a essa come fallacia di Ousterhout o falsa dicotomia di Ousterhout. Mentre la tipizzazione forte confrontata con la tipizzazione debole, la complessità della strutture di dati e il confronto tra indipendenza dal sistema operativo rispetto a stand-alone potrebbe affermare per essere le caratteristiche non correlate. La critica comune alla "dicotomia di Ousterhout" è la sua distinzione tra compilazione e interpretazione poiché né la semantica né la sintassi dipendono in misura significativa dall'essere compilato in linguaggio macchina, interpretato, tokenizzato, o byte-compilato all'inizio di ogni esecuzione o qualsiasi combinazione di questi. Molti linguaggi possono essere sia interpretati sia compilati, ad esempio Lisp, Forth, UCSD Pascal, Perl, e Java. Questo rende il confronto tra compilazione e interpretazione un parametro dubbio in una tassonomia dei linguaggi di programmazione.

Note[modifica | modifica wikitesto]

  1. ^ Ousterhout, John, Scripting: Higher Level Programming for the 21st Century, in IEEE Computer magazine, marzo 1998. URL consultato il 9 ottobre 2011.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Fonti[modifica | modifica wikitesto]

  • (EN) This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
  • (EN) ^ Ousterhout, John (March 1998). "Scripting: Higher Level Programming for the 21st Century". IEEE Computer magazine. Retrieved 2011-10-09.

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero