Quand tu sauves/valides une méthode, elle est compilée en byte-code et c'est ce byte-code qui est utilisé lorsque tu appelles cette méthode. Le navigateur de classes permet de voir le byte-code d'une méthode (voir le dernier bouton qui propose une liste des modes de visualisation).
Comme je le comprends, le fichier .image ne contient que le byte- code, .changes le code source des classes ajoutées à l'image de base et .source le code source de l'image de base. Si tu supprimes les fichiers .changes et .source, le code source que tu vois dans le navigateur de classes est en fait une forme recompilée du byte- code (les arguments deviennent t1, t2, etc. , pas de commentaires et le code à parfois une drôle de forme).
Serge l'image contient aussi les objets crees et qui ne sont pas GCed.
I) Qu'est qui fait que le language smalltalk n'est pas plus utilisée dans le monde de l'entreprise et du logiciel libre ?
L'effet du champ de distorsion mise à part, Java n'est pas plus utilisé qu'un autre langage.
La plupart des produits commerciaux et de très nombreux logiciels libres sont encore et toujours écrits en C/C++. La VM de Java ne fait exception.
COBOL = 40% des applications qui tournent il me semble Aussi Fortan.
Dans le monde de l'entreprise, c'est du PowerBuilder et du VisualBasic à tout va, sans compter SQL et PL/SQL qui constituent souvent la totalité de la logique métier des applications d'entreprise.
Je ne pense pas que l'on puisse dire qu'il n'y a pas beaucoup de logiciels libres écrits en Smalltalk. Plus de 500 projets sont répertoriés sur SqueakMap, au moins une centaine sur Squeaksource et le référentiel StORE de VisualWorks en a sans doute tout autant. Et la plupart de ces projets ne font pas double emploi avec d'autres. Sans compter tous les projets E-Toys créés par des enfants et des adultes, ont dont on ne voit qu'une infime partie.
Quant à l'entreprise, il paraît qu'AMD l'utilise sur sa chaîne de production et bien d'autres, mais des gens chez Cincom disent que leurs clients préfèrent rester anonymes.
C'est officiel que AMD utilise VW pour gerer sa chaine de production en allemagne. UPS tracking system est aussi en VW
J) Quel est le language le plus productif : java ou smalltalk ?
Disons que pour écrire une éditeur XML, Java semble imbattable, la preuve en est les dizaines d'éditeurs qui existent, où du moins à la vue des très nombreuses notes d'intention publiées sur SourceForge...
Pour le reste, il n'y a pas photo, une application écrite Java n'existe pas tant qu'elle n'a pas été compilée et exécutée (et je dirais même déployée avec succès). Et en terme de productivité, cela représente beaucoup.
Et puis il y a les navigateurs, pas uniquement celui pour les classes, mais aussi celui qui tue : le Method Finder. Une fois qu'on a touché à celui-ci, plus moyen de revenir en arrière.
Mais bon, comme on me l'a dit un jour, ce dont nous avons besoins n'est pas des gens productifs, mais des gens qui partagent une même base commune afin de pouvoir reprendre le facilement le travail de quelqu'un d'autre.
Il y a des societes qui utilisent Smalltalk dans les controlleurs Switch de telephone car c'est beaucoup plus facile de creer dynamiquement une classe. Maintenant il faut qu'il y a enormement d'emotion et d'irrationnel dasn l'utilisation de langage Ex: a UBS ils ont une application qui fait 1.2 Million de transaction avec 7 personnes une equipe de 150 programmeur Java reecrit l'appli qui fait 200 transaction. conclusion: devine quelle appli a ete tue....la smalltalk parce que ce n'est pas X, Y....Z
Stef