Tu peux expliquer pour les non puristes?
Le problème n'est pas aussi simple que cela à expliquer.
Les "anciens", qui ont, soit tripatouillé professionnellement les microprocesseurs, soit développé du soft en langage machine, ont été sensibles (et sans doute le sont-ils encore) à la structure du microprocesseur et à au jeu d'instructions machine. En fonction de cela, ils ont classés (plus ou moins simplement, plus ou moins démagogiquement) les microprocesseurs en "propres" et en sales".
Pour simplifier, en ramenant à trois types de microprocesseurs ayant pris place dans les Mac :
- Famille 6800, 68000 : propre
- Famille PPC et suivant : propre
- Famille X86, couvrant les PC depuis le premier OS de MS jusqu'au dernier Windows actuel, et les Mac dit Mac Intel depuis OS X (famille x68 et suivants, et les extensions de code) : sale
Le jeu d'instruction machine est intimement lié à l'architecture interne du microprocesseur. Je ne parle pas des pipe-lines, ni des différentes unités de traitement, ni des parallélismes, mémoires cache et autres procédés qui ont pour but d'aller aussi vite que possible. Je parle des commandes élémentaires qui permettent d'effectuer des opérations sur les données qu'il a fallu rapatrier de l'extérieur (mémoire, organe d'entrée-sortie) et traiter ou ordonner en fonction des résultas. C'est à ce niveau-là, au niveau très intime du processeur, que les actions se font "proprement" ou "salement". Bien évidemment, aujourd'hui, cela est transparent. Les langages de programmation sont au-desus du langage machine, et tout ce côte "propre" ou "sale" est masqué au niveau du développeur "lambda". Par contre, cela n'est pas du tout masqué pour les développeur qui s'occupent de langages de programmation, de compilateurs et d'environnement de développement.
En bref, tout l'art est d'accéder au informations, les utiliser, et ranger les résultats. Et cela ne se fait pas de la même façon d'une machine à une autre, en dépit des similitudes.
J'espère que j'aurai pu éclairer la lanterne des non puristes.