Che cos'è un linguaggio assembly
Le lingue di assembly sono lingue di basso livello specifiche di una particolare architettura di computer. In confronto, molti linguaggi di programmazione di alto livello possono essere utilizzati su più architetture, ma richiedono l'interpretazione o la compilazione prima che raggiungano il processore.
RIPARTIZIONE Assembly Lingua
I linguaggi dell'Assemblea sono stati in gran parte sostituiti da linguaggi di programmazione di alto livello. Gli ingegneri del software preferiscono scrivere un'unica applicazione che funzioni su tutti i PC, indipendentemente dal fatto che abbiano processori Intel o AMD, utilizzando linguaggi di alto livello. In confronto, sarebbero tenuti a scrivere applicazioni separate per ogni tipo di architettura del computer usando i linguaggi assembly. Queste applicazioni diventerebbero estremamente difficili da mantenere poiché ogni aggiornamento comporterebbe l'aggiornamento di diverse applicazioni diverse.
Le istruzioni di base eseguite da un computer sono codici binari, costituiti da uno e da zero, poiché sono direttamente traducibili negli stati on e off per l'elettricità che si muove attraverso un processore. Naturalmente, non è pratico per gli ingegneri del software - o per qualsiasi altro essere umano - tradurre le informazioni in uno e zero, quindi sono stati sviluppati linguaggi di assemblaggio per semplificare il processo. Questi linguaggi di assemblaggio richiedevano ancora molto lavoro nella traduzione del codice tra architetture diverse, quindi seguirono linguaggi di programmazione di livello superiore.
Detto questo, i linguaggi di assemblaggio sono ancora comuni in alcuni mercati che richiedono velocità e prestazioni elevate. I simulatori di volo possono utilizzare architetture altamente specializzate in cui i linguaggi di livello superiore non funzionano, il che significa che i linguaggi di assemblaggio possono essere una necessità. Le operazioni di trading ad alta frequenza possono anche usare i linguaggi di assemblaggio poiché possono eseguire analisi e transazioni molto più rapidamente rispetto ai linguaggi di alto livello, il che può comportare migliori ricavi di trading e redditività rispetto alla concorrenza.
Esempio di lingue di assemblaggio
Le lingue dell'assembly inviano le indicazioni al processore, alla memoria e ad altri componenti del computer. Queste direzioni sono versioni leggermente più astratte del codice binario, che è costituito esclusivamente da uno e zeri. Ad esempio, il codice 10110000 01100001 indica a un processore di spostare un valore di 8 bit in un registro. Utilizzando il formato esadecimale, queste istruzioni possono essere abbreviate in B0 61. I linguaggi di assemblaggio lo rendono ancora più comprensibile introducendo operatori, come MOV AL, 61h, dove MOV è l'abbreviazione di "spostamento".
I linguaggi di programmazione di livello superiore spesso gestiscono queste attività automaticamente e consentono agli ingegneri del software di concentrarsi su attività di livello molto più elevato, come l'assegnazione di variabili e il completamento di operazioni su di esse. Ad esempio, un ingegnere del software può definire una variabile in JavaScript usando let myVariable = 123 e a quella variabile verrà automaticamente assegnato un posto in memoria in base alla dimensione dell'intero 123 e ad altri fattori. L'ingegnere del software non deve preoccuparsi di gestire la memoria e può invece concentrarsi su ciò che la variabile sta facendo.
