Debug everywhere !!

Alors comme ça, Java n'est pas multi-plateforme ? Ben oui mais non !


Constat difficile mais même si sur le papier, Java fonctionne partout, le dur monde de l'informatique est bel et bien différent.
Problème de comportement de l'IHM[1] différent, ordonnancement des threads, sensibilité de la casse sont autant d'obstacles à la portabilité complète du binaire. On se retrouve alors confronté aux mêmes problèmes qu'avec des langages promettant la portabilité au niveau source à savoir l'établissement des bonnes règles de codage et des tests spécifiques par plateforme. Enfin, heureusement qu'il y a plein d'autres trucs que l'on n'a pas besoin de porter from scratch comme l'IHM.
Si je dis tout ça, c'est que l'on a porté un soft java de Window$ vers Solaris et qu'il aurait mieux valu que cela se passe dans l'autre sens. Et oui, parcourir quelques 250000 lignes de code source pour trouver toutes les créations, ouvertures de fichier où on a fait gentiment joujou avec la casse[2], les bidouilles sur la taille des buffers de socket et les architectures multi-threadée mal gaulées, c'est super la galère.
Et là, je parle même pas des perfs de Java sur Solaris !!!
A croire que les équipes de dev chez Sun ne se causent jamais !!!
Java fonctionne beaucoup mieux sur un X86 Window$ que sur une Sun Solaris.

Enfin, bon, c'est comme ça et ça n'a pas fini de nous filer du boulot.

Notes

[1] Interface homme-machine

[2] because développement à la rache