Lorsqu'on sélectionne une expression Smalltalk pour l'exécuter, elle est transformée en byte-code pour une machine virtuelle (d'où la portabilité).
A la différence de Java, la compilation est incrémentale, pas de besoin de recompiler toute la classe, mais seulement la méthode modifiée.
Le compilateur d'expressions en byte-code est lui-même écrit en Smalltalk !
En Squeak, la machine virtuelle qui est une boucle sans fin qui interprète des byte-code est elle-même écrite en Smalltalk, c'est-à-dire qu'il est possible de tester la machine virtuelle dans Squeak. Pour avoir une nouvelle machine virtuelle, on génère un code C à partir du code Smalltalk.
[^] # Re: Question bête
Posté par Serge Stinckwich . En réponse à la dépêche Journée de découverte de Squeak / Smalltalk. Évalué à 2.
A la différence de Java, la compilation est incrémentale, pas de besoin de recompiler toute la classe, mais seulement la méthode modifiée.
Le compilateur d'expressions en byte-code est lui-même écrit en Smalltalk !
En Squeak, la machine virtuelle qui est une boucle sans fin qui interprète des byte-code est elle-même écrite en Smalltalk, c'est-à-dire qu'il est possible de tester la machine virtuelle dans Squeak. Pour avoir une nouvelle machine virtuelle, on génère un code C à partir du code Smalltalk.
PS : on dit Smalltalk, pas SmallTalk ;-)