Vladimir certo, ne avevamo già parlato in alune occasioni (in particolare @Samueleex). Vedi ad esempio:
In cosa differisce complessivamente l'Assembly dal C?
Che differenza c'è tra Assembly MIPS & Assembly PIC ?
"Semplice" gioco in Assembly (non fatelo a casa)
Come sappiamo, esistono un'infinità di linguaggi di programmazione, Assembly è molto vicino al linguaggio macchina ovvero "fornire istruzioni" al processore; difficilmente in questo modo riusciamo a farci operazioni "astratte" complesse, abbiamo però più controllo sull'efficienza, un linguaggio più ad alto livello invece si avvicina all'astrazione del ragionamento umano. La gestione della memoria, performance (vedi Python) non sarà così prestante, in genere, perché la comodità di non dover pensare a dove e come inizializzare ogni singola variabile (per concentrarsi sul funzionamento concettuale ad alto livello del programma, specialmente nella programmazione ad oggetti) in un certo senso la si paga 🙂
Esistono comunque linguaggi di "livello medio" come ad esempio C/C++, che consentono sia un certo livello di astrazione, sia - quando richiesto - un ottimo controllo dal punto di vista dell'efficienza computazionale e lo vediamo ad esempio in Benchmark performance C, Python, MATLAB - GNU Octave, JavaScript, PHP
Per come è definito, per ovvie ragioni Assembly essendo più a diretto contatto con l'unità di calcolo, più vicino al linguaggio macchina, è ancora più efficiente del C in termini di prestazioni. La differenza comunque è quasi minima e, vista l'enorme versatilità di quest'ultimo (C/C++), spesso è un'ottima scelta proprio per programmi che richiedono buona efficienza compulazionale.
Assembly si usa ancora oggi per contesti specifici, ad esempio sistemi embedded (<<quei sistemi elettronici di elaborazione a microprocessore progettati appositamente per un determinato utilizzo>>), programmi che girano davvero a basso livello, direttamente sul processore, senza un sistema operativo (e quindi ad esempio il compilatore GCC usato da C/C++). Altrimenti vista la "macchinosità" (linguaggio nato nel lontanissimo 1949!!!) in genere non ne vale la pena.
Simile all'Assembly in quanto "macchinosità" ma un pochino più evoluto è il linguaggio COBOL (data 1959), usato ancora essendo il core-banking e quindi tutte le banche del mondo ne fanno tradizionalmente uso, sostituire un sistema così grosso, sebbene sarebbe opportuno, non è semplice. Vedi un esempio d'uso (improprio 😅):
COBOL - esempio ingegneria: irraggiamento termico