Download Free Audio of Nei linguaggi di programmazione ad alto livello, u... - Woord

Read Aloud the Text Content

This audio was created by Woord's Text to Speech service by content creators from all around the world.


Text Content or SSML code:

Nei linguaggi di programmazione ad alto livello, un esempio di overhead riguarda il tempo di esecuzione dei sottoprogrammi: al tempo da questi impiegato per svolgere il loro compito (ad esempio il calcolo di una radice quadrata) si aggiunge infatti il tempo necessario a gestire il meccanismo stesso di chiamata a sottoprogramma attraverso record di attivazione. Questo tempo aggiuntivo può essere ridotto con un uso accorto di specifiche tecniche di ottimizzazione, ma non può essere eliminato del tutto. In generale, più i linguaggi di programmazione sono ad alto livello, maggiore tende a essere l'overhead associato ai loro meccanismi di funzionamento. L'overhead necessario a chiamare un metodo in un linguaggio di programmazione object oriented, per esempio, è superiore a quello necessario a chiamare un sottoprogramma di un linguaggio procedurale, a causa della necessità di risolvere dinamicamente situazioni di overriding. Sempre in generale, e per motivi analoghi, l'overhead aumenta se si sovrappongono strati di astrazione. Un esempio in questo senso potrebbe essere quello di una classe (C++, Java, ecc.) che incapsula un'API in linguaggio C. In questo caso, l'invocazione di un metodo della classe comporterà sia l'overhead proprio della chiamata di metodo sia quello immediatamente successivo, legato alla chiamata della funzione C sottostante. Per questi motivi, nello sviluppo di sistemi con forti requisiti a livello di prestazioni si opta talvolta per strumenti di programmazione "a basso livello" (come il linguaggio C o addirittura l'assembly) che consentono di contenere i costi di overhead al prezzo di una maggior difficoltà nella scrittura del programma.