QNA > Q > Qual È La Differenza Tra Un Linguaggio Assembly E Un Linguaggio Ad Alto Livello?

Qual è la differenza tra un linguaggio assembly e un linguaggio ad alto livello?

Linguaggio di assemblaggio

Questo usa parole o brevi "mnemotecniche" (abbreviazioni) invece dei numeri binari per le operazioni del linguaggio macchina. Questo permette ai comuni mortali di programmare direttamente l'assemblaggio. L'assembly può essere assemblato a mano (dai veri fanatici o su piattaforme minori), o si usa un programma chiamato assemblatore per trasformarlo in binario per voi.

Come non tutti i linguaggi macchina sono uguali, non tutti i linguaggi assembly sono uguali. Un grande esempio di questo è il semplice caricamento di un valore in un registro.

Linguaggi di alto livello

Questo termine è spesso abusato e mal attribuito a seconda della prospettiva di ognuno. Per chiunque sia seriamente interessato a scrivere in linguaggio assembly/macchina, tutto ciò che non è assembler o linguaggio macchina è un "linguaggio di alto livello" -- le persone che non si occupano di assembler spesso chiamano linguaggi come il C un "linguaggio di basso livello" e linguaggi come il BASIC "di alto livello"... Personalmente la considero una distinzione senza senso, ma capisco da dove viene questa nozione. Si basano su quanto si è "vicini all'hardware". Più il risultato è vicino al linguaggio macchina, più è di "basso livello", e più è un'astrazione per facilità d'uso, più è "alto" lo chiamano.

Infatti gli idioti che dicono che il C è vicino all'assembly mi fanno incazzare perché non sanno di cosa stanno parlando; questo è sempre stato vero solo su UNA piattaforma, e a nessuno importa più un pesce viola volante dei mainframe DEC!

L'intera ragione per cui esistono i linguaggi di alto livello è di togliere il "lavoro pesante" dalla programmazione. Rimuove molto del controllo sulla velocità rispetto alla dimensione del codice, tipicamente risultando in un codice più lento/più grande; ma il vantaggio è che il codice è più facile da leggere, più facile da mantenere, e portabile attraverso diverse piattaforme di processori.

Di Agata Hutchin

Qual è la relazione tra codice operativo, operando e istruzioni macchina? :: La GTX 1660 Ti è a prova di futuro?
Link utili