• [^] # Re: Quelle différence? :)

    Posté par (site web personnel) . En réponse au journal Dell Mini 9 et ses offres hilarantes. Évalué à 3.

    Juste pour préciser : la compatibilité binaire est bonne sous Windows pour tout ce qui est OS pur.
    Les surcouches type DirectX ou .net ont elles des problèmes de compatibilité.

    Et je peux te garantir que je distribue une DLL ou EXE à environ 3000 personnes par jour (dixit Sourceforge), avec encore 0.1% de gens sous Windows 98 (si si, il y en a encore...), et plein sous Vista, et ce quasiment sans avoir dû adapter mon code (les adaptations que j'ai dû faire sont 1/ les conversions UTF-8 vers Unicode si sous Win9X car cette API n'est pas disponible sous win9Xb 2/ compilation avec MSVC 2005 à la place de MSVC 2008 car MSVC 2008 compile des DLL incompatibles avec Win9X sans que j'en connaisse la raison à part que le support de Win9X est officiellement abandonné par MS). j'utilise une couche réseau (TCP/IP) qui n'a pas changé depuis des lustres côté API.

    Après, si tu programmes avec des API qui elles n'ont pas été bien programmées (y compris chez MS, genre DirectX pas du tout compatible), ou que tu oublies de gérer les droits d'install (déjà dans Windows 2000 mais souvent oublié car les gens installaient avec des droits admin, certes pas dans Win9X par contre), ben... Ca vient de toi et de tes choix :).

    Note : je pense qu'on ne discute pas des logiciels touchant aux bases de l'OS genre anti-virus ou firewall, ou drivers, la oui c'est 100% incompatible. Je pense plutôt à des logiciels "normaux" comme tu as donné en exemple : Si Catia marche sous XP mais pas sous Vista, je pense que le problème vient de Dassault qui a validé le produit en "ça passe sous WinXP alors on livre, on s'en fout si on respecte pas l'API écrite par MS, ce qui compte c'est que ça marche, on est déjà suffisamment à la bourre".

    On peut critiquer MS, mais force est de constater que pour pas mal de programmes "normaux" (qui ne bidouillent pas n'importe comment l'OS!), ben... Ca marche.