Linguaggio assembly
Che cos'è un linguaggio assembly?
Un linguaggio assembly è un tipo di linguaggio di programmazione di basso livello destinato a comunicare direttamente con l'hardware di un computer. A differenza del linguaggio macchina, che consiste in caratteri binari ed esadecimali, i linguaggi assembly sono progettati per essere leggibili dagli esseri umani.
I linguaggi di programmazione di basso livello come il linguaggio assembly sono un ponte necessario tra l'hardware sottostante di un computer e i linguaggi di programmazione di livello superiore, come Python o JavaScript, in cui vengono scritti i moderni programmi software.
Come funzionano i linguaggi assembly
Fondamentalmente, le istruzioni più elementari eseguite da un computer sono codici binari, costituiti da uno e zero. Questi codici vengono tradotti direttamente negli stati "on" e "off" dell'elettricità che si muove attraverso i circuiti fisici del computer. In sostanza, questi semplici codici costituiscono la base del “linguaggio macchina”, la varietà fondamentale del linguaggio di programmazione.
Naturalmente, nessun essere umano sarebbe in grado di costruire programmi software moderni programmando esplicitamente uno e zero. Invece, i programmatori umani devono fare affidamento su vari livelli di astrazione che possono permettersi di articolare i propri comandi in un formato più intuitivo per gli esseri umani. In particolare, i programmatori moderni emettono comandi nei cosiddetti "linguaggi di alto livello", che utilizzano sintassi intuitiva come parole e frasi inglesi intere, nonché operatori logici come "E", "Or" e "Else" che sono familiare all'uso quotidiano.
In definitiva, tuttavia, questi comandi di alto livello devono essere tradotti in linguaggio macchina. Piuttosto che farlo manualmente, i programmatori si affidano a linguaggi assembly il cui scopo è tradurre automaticamente tra questi linguaggi di alto livello e di basso livello. I primi linguaggi assembly sono stati sviluppati negli anni '40 e, sebbene i programmatori moderni trascorrano pochissimo tempo a occuparsi di linguaggi assembly, rimangono comunque essenziali per il funzionamento generale di un computer.
Esempio reale di un linguaggio assembly
Oggi, i linguaggi assembly rimangono oggetto di studio da parte degli studenti di informatica, al fine di aiutarli a capire come il software moderno si relaziona alle sue piattaforme hardware sottostanti. In alcuni casi, i programmatori devono continuare a scrivere in linguaggi assembly, ad esempio quando le richieste di prestazioni sono particolarmente elevate o quando l'hardware in questione è incompatibile con gli attuali linguaggi di alto livello.
Uno di questi esempi rilevanti per la finanza sono le piattaforme di trading ad alta frequenza (HFT) utilizzate da alcune società finanziarie. In questo mercato, la velocità e l'accuratezza delle transazioni sono di fondamentale importanza affinché le strategie di trading HFT si dimostrino redditizie. Pertanto, al fine di ottenere un vantaggio rispetto ai loro concorrenti, alcune aziende HFT hanno scritto il loro software di trading direttamente in linguaggi assembly, rendendo così superfluo attendere che i comandi da un linguaggio di livello superiore vengano tradotti in linguaggio macchina.
Mette in risalto
È un ponte necessario tra i programmi software e le loro piattaforme hardware sottostanti.
Un linguaggio assembly è un tipo di linguaggio di programmazione che traduce linguaggi di alto livello in linguaggio macchina.
Oggi, i linguaggi assemble raramente vengono scritti direttamente, sebbene siano ancora utilizzati in alcune applicazioni di nicchia, ad esempio quando i requisiti di prestazioni sono particolarmente elevati.