[go: up one dir, main page]

Zucchero sintattico

sintassi di un linguaggio di programmazione

Nella programmazione, zucchero sintattico (in inglese syntactic sugar) è un termine coniato dall'informatico inglese Peter J. Landin per definire costrutti sintattici di un linguaggio di programmazione che non hanno effetto sulla funzionalità o sull'espressività del linguaggio, ma ne rendono più facile ("dolce") l'uso per gli esseri umani; è quindi un modo alternativo di scrivere il codice, spesso più pratico e produttivo e che genera programmi più facili da leggere e gestire.

Variabili

modifica

Consideriamo il modo di manipolare gli array di variabili in C. In C gli array sono trattati come blocchi di memoria, ai cui elementi si accede specificando l'offset rispetto all'indirizzo del punto iniziale del blocco. Tuttavia questi puntatori aritmetici sono scomodi, ineleganti e fonte di errori; per questo motivo il C mette a disposizione la notazione a[i] in sostituzione della *(a + i) che si sarebbe dovuta usare. Analogamente la notazione a[i][j] è più facile da capire della *(*(a + i) + j).

Valori letterali

modifica

Una caratteristica comune a molti linguaggi di programmazione è la capacità di specificare direttamente nel sorgente valori letterali di tipo stringa (string literals) o di altro tipo (numerico, ecc.). Le convenzioni adottate variano da linguaggio a linguaggio, e in alcuni linguaggi queste convenzioni sono più restrittive che in altri.

Programmazione a oggetti

modifica

Il linguaggio C è pienamente idoneo all'uso nella programmazione a oggetti, mediante le funzionalità di cui dispone, come ad esempio l'impiego dei puntatori, il cast dei tipi, e le strutture di dati. Tuttavia altri linguaggi, come il C++, sono più adatti poiché dispongono di una sintassi progettata espressamente per questo stile di programmazione. Inoltre queste sintassi altamente specializzate rendono più agevole l'approccio alla programmazione a oggetti da parte dei nuovi programmatori. Analogamente alcune caratteristiche del C#, come le proprietà e le interfacce, non aggiungono nuove funzionalità ma piuttosto rendono queste particolari tecniche di programmazione più intuitive e efficaci.

Critiche

modifica

Alcuni programmatori pensano che queste caratteristiche siano poco importanti o addirittura frivole. Ad esempio, Alan Perlis, giocando sul significato del termine inglese "semicolon" (lett. "punto e virgola" ma ricorda il colon, cioè un tratto dell'intestino), commentando i cosiddetti "linguaggi bracket-delimited" affermò che «lo zucchero sintattico provoca il cancro del semicolon». Gli sviluppatori del kernel di Linux, pur utilizzando ampiamente la programmazione a oggetti, insistono nell'usare nient'altro che il C puro.

Collegamenti esterni

modifica
   Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica