Commento sulla compilazione



On Tue, 27 Oct 1998, Longo Francesco wrote:

> Ciao Marco, 

Ciao Francesco!

> secondo te va bene questa frase, per il diz,
> riguardante il termine assembly language?

Adesso ci do un occhio, aspetta...

> Solitamente i programmi scritti direttamente in assembly dal 
> programmatore vengono 
> eseguiti piu' rapidamente di quelli scritti in un linguaggio ad alto
> livello.

Beh... alla fine un programma, una volta tradotto in codice eseguibile
viene eseguito alla stessa velocita' (ovviamente riferendosi ad esecuzioni
sulla stessa macchina) di un programma compilato 
da un linguaggio di
programmazione qualsiasi...

Quello che, a volte, puo' differire e' che il programmatore assembly
"risparmia" alcuni controlli che rallentano l'esecuzione finale...

> Questo succede perche' i programmi scritti direttamente in assembly 
> sono piu' compatti rispetto all'assembly che viene scritto da un
> compilatore.

Sono quasi completamente in disaccordo con questa frase. Una tale frase
avrebbe avuto credibilita' 15 anni fa (facciamo anche 10, va'...) quando i
compilatori erano veramente "schifidi" e riempivano il codice finale di
schifezze inutili...

Oggigiorno un compilatore e' in grado di generare codice compilato in modo
talmente ottimizzato e compatto che NESSUN programmatore che programma
direttamente in assembly sarebbe in grado di reggere il confronto! Non
sarebbe in grado di scrivere codice che "giri" piu' veloce!

Soprattutto perche' programmando in assembly e' molto piu' facile
"inserire" bug ed errori infidi di quanto lo sia (ad esempio) programmando
in MODULA-3 (non ho citato il C perche' in un certo senso si avvicina
molto all'assembly come livello di "bassezza")...

Inoltre il codice generato da un compilatore e' molto piu' ROBUSTO!

L'assembly, come linguaggio di programmazione, e' praticamente morto...
non ha piu' senso ostinarsi a programmare in assembly (a meno che non sia
veramente OBBLIGATORIO)... soprattutto con le nuove CPU, che hanno
pipeline da tutte le parti, registri nascosti, trucchi & bachi... un
compilatore se la cava decisamente meglio... e lascia molta piu'
produttivita' al programmatore!!

Programmare in assembly, oggigiorno, ha significato solamente per
sistemi embedded (e simili) in cui si ha la necessita' di andare a
"toccare con mano" direttamente l'hardware a disposizione.

Bye bye bye ai!

Marco

>grazie Marco




C, Compilatore TASTIERA
Il motore di ricerca del Dizionario Informaticov1.03

Solo connessi ad Internet potete utilizzare DizSearch

Termini mancanti/suggerimenti ?

© Copyright 1997-2001 by Francesco Longo, flongo@dsi.unive.it

Homepage Dizionario Informatico