Nous avons d�j� �voqu� comment les programmes sont ex�cut�s. Chaque programme en fin de compte doit ex�cuter une succession d'octets qui sont les instructions dans le langage machine de votre ordinateur. Les humains ne pratiquent pas tr�s bien le langage machine ; cela est devenu rare, art obscur m�me parmi les hackers.
La plupart du code du noyau d'Unix except� une petite partie de l'interface avec le mat�riel est de nos jours �crite dans un langage de haut niveau. (Le terme 'haut niveau' est un h�ritage du pass� afin de le distinguer du 'bas-niveau' des langages assembleur, qui sont de maigres "couches" autour du code machine.
Il y plusieurs types diff�rents de langages de haut niveau. Afin de parler d'eux, vous trouverez utile que j'attire votre attention sur le fait que le code source d'un programme (la cr�ation humaine, la version �ditable) est pass� � travers plusieurs types de traductions pour arriver en code machine, que la machine peut effectivement ex�cuter.
Le type le plus classique de langage est un langage compil�. Les langages compil�s sont traduits en fichiers ex�cutables de code machine binaire par un programme sp�cial appel� (assez logiquement) un compilateur. Lorsque le binaire est g�n�r�, vous pouvez l'ex�cuter directement sans regarder � nouveau dans le code source. (La plupart des logiciels d�livr�s sous forme de binaires compil�s sont faits � partir d'un source auquel vous n'avez pas acc�s.)
Les langages compil�s tendent � fournir une excellente performance et ont un acc�s le plus complet au syst�me d'exploitation, mais il difficile de programmer avec.
Le langage C, langage dans lequel chaque Unix est lui-m�me �crit, est de tous le plus important (avec sa variante C++). FORTRAN est un autre langage compil� qui reste utilis� par de nombreux ing�nieurs et scientifiques mais plus vieux et plus primitif. Dans le monde Unix aucun autre langage compil� n'est autant utilis�. En dehors de lui, COBOL est tr�s largement utilis� pour les logiciels de finance et comptabilit�.
Il y a bien d'autres compilateurs de langages, mais la plupart sont en voie d'extinction ou sont strictement des outils de recherche. Si vous �tes un nouveau d�veloppeur Unix qui utilise un langage compil�, il est incontournable que ce soit C ou C++.
Un langage interpr�t� d�pend d'un programme interpr�teur qui lit le code source et traduit � la vol�e en calculs et appels syst�me. Le source doit �tre r�-interpr�t� (et l'interpr�teur pr�sent) � chaque fois que le programme est ex�cut�.
Les langages interpr�t�s tendent � �tre plus lents que les langages compil�s, et limitent souvent les acc�s au syst�me d'exploitation ou au mat�riel sous-jacent. D'un autre c�t�, il est plus facile de programmer et ils tol�rent plus d'erreurs de codage que les langages compil�s.
Quelques utilitaires Unix, incluant le shell et bc(1) et sed(1) et awk(1), sont effectivement des petits langages interpr�t�s. Les BASICs sont g�n�ralement interpr�t�s. Ainsi est Tcl. Historiquement, le langage le plus interpr�t� �tait LISP (une am�lioration �norme sur la plupart de ses successeurs). Aujourd'hui, Perl est tr�s largement utilis� et devient r�solument plus populaire.
Depuis 1990 un type de langage hybride qui utilise la compilation et l'interpr�tation est devenu incroyablement important. Les langages P-code sont comme des langages compil�s dans le sens o� le code est traduit dans une forme binaire compacte qui est celle que vous ex�cutez, mais cette forme n'est pas du code machine. Au lieu de cela, c'est du pseudo-code (ou p-code), qui est g�n�ralement un peu plus simple mais plus puissant qu'un langage machine r�el. Lorsque vous ex�cutez le programme, vous interpr�tez du p-code.
Le p-code peut s'ex�cuter pratiquement aussi rapidement que du binaire compil� (les interpr�teurs de p-code peuvent �tre relativement simples, petits et rapides). Mais les langages p-code peuvent garder la flexibilit� et la puissance d'un bon interpr�teur.
D'importants langages p-code sont Python et Java.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:24