Ciao a tutti!
Allora, devo chiarire una cosa, qual'é la differenza tra compilatore e interprete? In questo caso un Interpetre per Python, e un compilatore C/C++!
Ciao a tutti!
Allora, devo chiarire una cosa, qual'é la differenza tra compilatore e interprete? In questo caso un Interpetre per Python, e un compilatore C/C++!
Se non ricordo male un intreprete prima traduce in linguaggio macchina l'istruzione corrente eppoi esegue l'istruzione
Il compilatore si limita solo a tradurre tutto il sorgente in linguaggio macchina senza eseguirlo
Devi sapere che il microprocessore sa eseguire solo elementari istruzioni in linguaggio macchina.
Nel linguaggio Assembly ogni istruzione corrisponde ad una in linguaggio macchina, solo che sono leggibili anche da un umano
In seguito, per semplificare la vita ai programmatori, sono stati inventati dei LDP molto più faccili, trasportabili, aggiornabili e veloci da scrivere dell' assembler.
Per farli capire anche al microprocessore si usano principalmente due metodi:
Compilazione
Il compilatore traduce tutto il programma in linguaggio macchina, creando un file .EXE che tu esegui quando vuoi senza problemi (si spera).
Sono linguaggi compilati ad esempio C, C++ e Delphi.
Interpretazione
L'interprete invece carica il file sorgente, converte una o un piccolo blocco di istruzioni alla volta in linguaggio macchina e le esegue direttamente.
Praticamente, compila il programma man mano che lo esegue.
Sono linguaggi interpretati Phyton e Java.
I linguaggi interpretati sono + lenti di quelli compilati per il lavoro di traduzione che viene fatto in run-time, ma generalmente sono + indipendenti dalla piattaforma, perchè un codice sorgente a differenza del linguaggio macchina è + trasportabile.
Naturalmente ogni linguaggio può essere allo stesso tempo interpreatato e compilato.
Perció, se io voglio mandare un file a qualcuno, scritto in Python, funziona solo a chi possiede un Interpetre, e col compilatore invece posso mandarli anche se qualcuno non possiede interpreti, etc..?
Esatto
x iguana
xchè questa differenza fra ling. interpretati e compilati???
java lo consideri un ling.interpretato xchè genera un .class invece di un .exe?
Un file .class NON è codice macchina.
Deve esserci la Java Virtual Machine ad interpreatrlo.
un qualsiasi linguaggio può essere sia interpretato che compilato , giusto?Originariamente inviato da iguana13
Un file .class NON è codice macchina.
Deve esserci la Java Virtual Machine ad interpreatrlo.
se lo interpreto traduco ed eseguo istruzione dopo istruzione
se lo compilo prima traduco tutto eppoi eseguo
non funziona cosi? :master:
Vero.
L'ho anche detto nel mio post:
Solo che serti linguaggi sono + spesso interpretati che compilati e viceversa...Naturalmente ogni linguaggio può essere allo stesso tempo interpreatato e compilato.
Non ho mai visto un interprete di C++
allora il debug cos'è?non funziona come un interprete?Originariamente inviato da iguana13
Vero.
L'ho anche detto nel mio post:
Solo che serti linguaggi sono + spesso interpretati che compilati e viceversa...
Non ho mai visto un interprete di C++