Nella terminologia di programmazione di computer , linguaggi di programmazione sono spesso separati in " alto livello " e le lingue " di basso livello " . La differenza tra i due è una questione di interazione hardware . In poche parole, linguaggi di basso livello risiedono " inferiore" a sistema informatico , più vicino alla interazione hardware reale . Linguaggi di alto livello sono astratte dal hardware . Il risultato di questa astrazione può causare più rapido , codice più leggibile , ma vantaggi in velocità inferiore, minore accesso alle risorse di sistema . Astrazione
Ciò che rende linguaggi di alto livello diverso da linguaggi di basso livello è il livello di astrazione di un linguaggio ha da risorse di sistema. Trattare con le risorse di sistema su una base quotidiana può diventare lenta e dolorosa . Linguaggi di alto livello sono stati creati per far fronte a questo problema gestendo il sistema per il programmatore , liberando il suo compito di completare più avanti , ignorando i minimi dettagli del sistema , come la gestione della memoria . Tuttavia, questo ha lo svantaggio di un programmatore potrebbe trovarsi in una situazione in cui è richiesto l'accesso al sistema , ed un linguaggio di alto livello che non può dare accesso . Un linguaggio di alto livello non è in genere adatto per la programmazione di sistemi .
Velocità
linguaggi di alto livello sono in genere " interpretati " lingue piuttosto che il " compilati " low- linguaggi di livello . " Interpretato " significa semplicemente che una lingua utilizza un interprete che esegue il codice sorgente di una riga alla volta , piuttosto che la compilazione di un file binario . Tuttavia, gli interpreti sono spesso programmi scritti in linguaggi compilati . A causa di questo , il linguaggio interpretato - Python , a titolo di esempio - funziona solo in cima l'interprete Python , che è scritto in C. Questo aumenta la memoria e il tempo di overhead per programmi interpretati , e spesso si eseguono più lentamente < . br >
Peculiarità del sistema
Una forza apparente di codice di alto livello è la sua portabilità . Codice di alto livello in grado di funzionare su qualsiasi sistema che ha l'interprete appropriato installato. Tuttavia, quando un programma viene compilato per un computer , prende in considerazione l' intero ambiente di tale sistema nella sua compilazione. Un linguaggio interpretato è già estratta dal sistema a tal punto che il programma interpretato non sa nulla del sistema ad eccezione di ciò che l'interprete può fornire.
Programmazione Limits
< p > a causa della natura dei linguaggi di alto livello , ci sono alcuni compiti per i quali non sono adatti per , o almeno non ancora adatti . Senza l'accesso alle risorse del sistema , lo sviluppo rapido di applicazioni , sistema operativo nativo è difficile. Inoltre, anche lo sviluppo di un sistema operativo diventa problematico . Come più software si muove in linea , questo fatto diventa meno di una preoccupazione , ma , per uso commerciale e industriale , linguaggi interpretati può funzionare troppo lentamente o troppo lontana dalla interazione hardware .
< Br >