(Courriels de diversion: <grilles@disproportionnee-surexpose.com> <avachit@artificieuse-repute.com> <aujourd'@meuglement-enivrerez.com> <postdatera@sympas-chariots.com> <alfa@vitrifieras-demaquillent.com> <tondra@prospectrice-assistent.com> <souvenant@accostent-bohemiennes.com> <recriminiez@transcription-scolariserait.com> <cuti-reaction@aspergeons-radiodiffuses.com> <degrossissaient@refugies-sous-estimions.com> )


>>>>> "WB" == Widad BINNA <widad.binna@ra.cit.alcatel.fr> writes:  WB> quelqu'un peut m'expliquer avec precision la difference entre un langage compile et un langage interprete.
	
	Dans les deux cas tu ecris un programme dans un fichier
	source.
	
	Dans le cas du langage compile, tu vas passer le fichier
	source a un compilateur qui va analyser le fichier voir s'il
	est valide et (en simplifiant) qui par la suite (une fois que
	tout est correct) va creer un fichier dit "executable"
	contenant les donnees et le code assembleur comprehensible par
	la machine. Ce fichier produit n'est pas  un fichier lisible
	par l'utilisateur. Il est compose d'une suite d'octets
	representant des operations ou des donnees. Le gros avantage
	de ce fichier est qu'il peut etre directement lu par le
	processeur (en gros). Donc l'execution est tres rapide. De
	plus, une fois que le source est compile dans un fichier
	executable, on n'a plus besoin d'appeler le compilateur pour
	lancer l'executable directement.
	En gros la chaine de production/exploitation du programme est
	la suivante :

	Creation du source ---> Compilation ----> Lancement executable<-
	                                             |__________________|
	
	Dans le cas d'un langage interprete il existe deux politiques
	a savoir l'interprete pur et dur et l'interprete juste a temps
	(just in time ou JIT). Le source est donne en "argument" a un
	programme appele interpreteur qui va se charger de lire le
	source (verifier la syntaxe). Le source est compose d'appels a
	des fonctionsi internes de l'interpreteur. Ces appels
	composent une sequence qui est soit preparee puis executee par
	l'interpreteur soit chaque appel est prepare et execute a la
	volee (cas du JIT). L'interpreteur est donc plus lent que le
	code compile et il ne produit aucun fichier executable.  La
	chaine production exploitation du langage interprete est la
	suivante :
	Creation du source -> Lancement de l'interpreteur pour
	                         |                    execution<-
                                 |______________________________|

	Une troisieme categorie existe : le cas ou on compile un code
	pour une machine virtuelle (cas de java lcs ccs lotos etc). A
	la suite de la compilation on obtient un fichier binaire
	independant de la machine sur laquelle on se trouve. C'est du
	"bytecode". Ce code est ensuite "interprete" par une machine
	virtuelle (pour java on parle de Java Virtual Machine (JVM)).
	

	Bon c'est une explication qui ne rentre pas trop dans les
	details mais bon ca donne un apercu... enfin j'espere :)
-- 
J-C Arnu -----------------------------------------------------------JX-
Stagiaire DEA IFP - ENSEEIHT         		    |Phone : 0561336414
LAAS-CNRS - Groupe OLC -     7, avenue du colonel Roche, 31077 Toulouse 

 _______________________________________________________________________
  Le CULTe sur le ouebe: http://savage.iut-blagnac.fr/