Cos'è la programmazione di alto livello?

La programmazione di alto livello implica la scrittura di un programma per computer in una lingua che impedisce al programmatore di gestire direttamente l'hardware del computer specifico da programmare. Questa astrazione consente al programmatore di concentrarsi maggiormente sulla progettazione, sul flusso e sulla funzionalità del programma e meno sul marshalling delle risorse di sistema di base per raggiungere tali obiettivi. Un linguaggio di programmazione di alto livello può gestire la gestione della memoria o l'input e l'output in un modo che il programmatore deve solo comprendere il concetto e non le specifiche hardware di un determinato sistema. Contrariamente alla programmazione di alto livello è la programmazione di basso livello, in cui vi è poca o nessuna separazione tra il codice del computer scritto e le azioni che il computer esegue.

Lo sviluppo di linguaggi di programmazione di alto livello era in risposta all'esigenza di file di codice sorgente leggibili dall'uomo che potessero essere facilmente compresi e modificati. Utilizzando soluzioni in linguaggio naturale, il codice sorgente di alto livello diventa molto più leggibile rispetto al linguaggio assembly o ad altri linguaggi macchina. Con il progredire delle dimensioni dei programmi per computer, la praticità di scrivere interi programmi in lingue di basso livello divenne meno fattibile.

In cambio della programmazione in un linguaggio leggibile dall'uomo e che non richiede conoscenze hardware di basso livello, esiste un concetto noto come penalità di astrazione. Questo descrive i maggiori requisiti in termini di potenza di elaborazione, utilizzo della memoria e altri tipi di overhead necessari per eseguire il programma finale. Ciò è particolarmente vero per i linguaggi interpretati che devono eseguire un interprete per eseguire il programma, richiedendo essenzialmente che due applicazioni debbano essere eseguite contemporaneamente.

I linguaggi compilati sono linguaggi di programmazione di alto livello in cui i file sorgente leggibili vengono trasformati in codice macchina che il computer può leggere. Mentre un linguaggio compilato subisce meno di una penalità di astrazione rispetto a un linguaggio interpretato, si basa ancora su librerie precompilate e funzioni di compilatore automatizzate. Questi elementi possono danneggiare l'ottimizzazione di un programma complesso in cui le prestazioni sono fondamentali.

L'uso di linguaggi di programmazione di alto livello ha inoltre semplificato la programmazione. Ciò è facilitato dalla facilità di aggiungere elementi standardizzati a un'interfaccia utente fornita dalla maggior parte delle lingue di alto livello. Invece di sviluppare codice personalizzato per un sistema a finestre o un pulsante di interfaccia ogni volta che ne è necessario uno, elementi familiari possono essere facilmente inseriti in un'interfaccia con solo poche righe di codice. Ciò consente ai programmi che gli utenti finali possono apprendere più facilmente o con cui possono immediatamente familiarizzare.

L'uso del termine "programmazione di alto livello" è relativo all'esperienza del programmatore. Ci sono alcune lingue intermedie che un tempo erano considerate di basso livello ma ora non lo sono. Allo stesso modo, alcune lingue di alto livello condividono aspetti con lingue di basso livello, sfocando il confine tra di loro.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?