C'est surtout que tu ne connais pas .net. L'un des buts avoué de .net, est une très bonne interopérabilité avec l'existant natif. Et ce, en particulier grâce à ce mécanisme de Platform Invoke.
Et donc, beaucoup d'applications .net sont construites sur de l'existant natif, voir même, utilisent directement des fonctions et des primitives spécifiques à leur environnement.
Donc oui, certaines applications ne sont par définition non portable. Ajoute à ça que certains développeurs sont peu regardant sur comment écrire du code cross-platform, et voilà. Mais au final, c'est le même problème avec les applications Java + JNI qui utilisent du code natif non portable.
Et puis ça va dans les deux sens. Une application Mono écrite spécifiquement pour Linux en utilisant certaines fonctionnalités spécifiques à Linux ne sera pas forcément portable vers Windows.
Donc c'est un problème du niveau de l'application, pas de la plateforme, pour la plus part des cas. Après bien sur, il reste des bugs et des librairies non implémentées, mais c'est loin de représenter le gros des applications non portables.
[^] # Re: Tire de l'annonce sur slashdot!
Posté par Jb Evain . En réponse à la dépêche Mono 2.0 : le singe continue ses grimaces. Évalué à 6.
Et donc, beaucoup d'applications .net sont construites sur de l'existant natif, voir même, utilisent directement des fonctions et des primitives spécifiques à leur environnement.
Donc oui, certaines applications ne sont par définition non portable. Ajoute à ça que certains développeurs sont peu regardant sur comment écrire du code cross-platform, et voilà. Mais au final, c'est le même problème avec les applications Java + JNI qui utilisent du code natif non portable.
Et puis ça va dans les deux sens. Une application Mono écrite spécifiquement pour Linux en utilisant certaines fonctionnalités spécifiques à Linux ne sera pas forcément portable vers Windows.
Donc c'est un problème du niveau de l'application, pas de la plateforme, pour la plus part des cas. Après bien sur, il reste des bugs et des librairies non implémentées, mais c'est loin de représenter le gros des applications non portables.