Certaines entreprises, comme Blizzard, créent des logiciels qui continuent de bien fonctionner dans les futures versions de Windows et avec les plus récentes versions de leurs autres dépendances logicielles. Dautres entreprises (pour la plupart qui ne sont pas des éditeurs de logiciels inconditionnels) écrivent parfois des logiciels qui rompt avec la sortie dun nouveau système dexploitation ou dune autre dépendance logicielle. Que savent les grands éditeurs de logiciels que les autres ignorent? Quelles sont les principales causes des problèmes de compatibilité ascendante?

Commentaires

  • Avez-vous un exemple de quelque chose qui a échoué?
  • @Fosco De nombreux jeux plus anciens, par exemple, ne sont pas jouables sur les ordinateurs modernes, certains en raison de modifications du système dexploitation, dautres en raison de progrès matériels.
  • @Fosco Jai ‘ vu beaucoup de trucs comme ça. Lun qui me distingue particulièrement est un jeu de quête israélien appelé Granny X qui a refusé de travailler dans tout ce qui nétait ‘ t Windows 95 (pas même sous Windows 95 ++, AKA Windows 98). Dautres exemples sont danciens programmes dastrologie utilisés par ma mère, des programmes éducatifs pour enfants, etc.
  • Diablo ne ‘ t (ou na pas ‘ t jusquà récemment) fonctionné sur vista / 7 sans quelques détails. De même, les couleurs ont été mises en erreur dans StarCraft sans désactiver le shell de lexplorateur en 7.

Réponse

Blizzard a-t-il écrit un logiciel qui fonctionne bien avec les futures versions de Windows (Starcraft joue toujours sur 7 par exemple) …

ou Microsoft a-t-il écrit des « versions futures » de logiciels qui sont rétrospectivement?

Quelque chose comme WoW nest pas vraiment « tourné vers lavenir » puisquil est toujours en développement actif. Dautres logiciels, comme Starcraft / Warcraft / Diablo ont été écrits pour lépoque et fonctionnent toujours parce que MS fait tout son possible pour activer danciens logiciels sur de nouveaux systèmes.

Blizzard a également la capacité, et la raison, pour mettre à jour ses anciens jeux. Titres très populaires qui pilotent son logiciel actuel.

Certains logiciels utilisent des parties hackish / non standard qui ne fonctionnent pas bien. Des configurations uniques, qui dépendent de «vieux» bogues pour fonctionner, des pilotes qui ne sont pas portés aux nouveaux systèmes, etc.

Commentaires

  • +1 (6 ans plus tard …) Cet article cracked.com/… déclare que lors de la création de Windows 95, Microsoft avait des centaines de stagiaires achetant tous les logiciels quils pouvaient trouver et les tester tous. Si le logiciel ne fonctionnait ‘, ils ont modifié Windows jusquà ce que ce soit le cas. La raison étant que si le logiciel ne fonctionnait pas ‘ t, les utilisateurs ne blâmeraient pas ‘ XYZ Software Company, mais Microsoft.
  • Ouais … +50 points aujourdhui à partir dune réponse de 6 ans. Cha Ching. Et oui, la réponse sonne toujours vraie – et cest ‘ pourquoi Windows règne toujours sur Mac et Linux: la rétrocompatibilité. Je ne ‘ pas sûr que les logiciels vieux de 10 ans fonctionneront sur un Mac ou sur Ubuntu … Jai un niveau de confiance raisonnable dans le fait quil fonctionnera sous Windows.

Réponse

Plusieurs raisons:

  1. Ils écrivent selon des normes qui continuent dêtre pris en charge dans les futurs systèmes dexploitation
  2. Les sociétés de systèmes dexploitation (par exemple MS) insèrent en fait beaucoup de code pour prendre en charge les logiciels plus anciens
  3. Les grands éditeurs de logiciels populaires ont tendance à avoir des relations formelles ou informelles avec les sociétés du système dexploitation, afin quelles puissent voir les choses plus tôt.

Réponse

Voici mon expérience: Beaucoup il y a des années, un produit sur lequel jai travaillé a commencé à prendre en charge des plugins tiers. Nous envoyions une requête au plugin, à laquelle il était censé répondre. Le premier paramètre du plugin était un numéro qui identifiait la requête que nous faisions. À ce stade, il ny avait quune une requête . Néanmoins, nous avons documenté que vous devriez vérifier ce numéro, et si c’était un nombre que vous n’avez pas compris, ne faites que renvoyer un code d’erreur avec le sens «Je ne comprends pas cette requête». Assez simple. La première version de notre côté, nous avons géré cela correctement.Même lors de lenvoi de la première requête (la seule que nous ayons jamais pu envoyer) nous avons vérifié si le plugin répondait « ne comprend pas » et la traité.

Ensuite, nous avons ajouté la deuxième requête. Testé avec danciens plugins en espérant quils répondraient « Je ne comprends pas cette demande ». Tous les plugins ont exécuté laction pour la première demande. Ce nest pas compatible avec la transmission 🙁 Ces plugins avaient été expédiés aux clients et planteraient avec un nouveau version de lapplication.

Ce que nous avons fait: Placer le logiciel dans un contexte où la première requête pourrait être effectuée sans dommage. Envoi dune requête totalement différente.Si la réponse nétait pas « t » don « t compris », alors nous savions que le plugin avait été écrit par des idiots et quaucune requête autre que celle que nous avions développée en premier navait été faite.

Réponse

Vous ne pouvez pas garantir la « compatibilité ascendante », cest aux fabricants du système dexploitation et du matériel. La meilleure chose à faire que vous pouvez faire lorsque vous écrivez un logiciel est de vous assurer que vous nutilisez pas des fonctionnalités obsolètes ou des astuces non standard.

Commentaires

  • Ne pas utiliser de fonctionnalités dépréciées ou dastuces non standard vous mènera assez loin. Par exemple, Metal Marines, un jeu de lère Windows 3.1 (peut-être en fait Win 32s ) qui restitue des objets graphiques en dehors de la fenêtre principale du jeu, lançant des missiles sur le bureau, en obtenant un contexte de périphérique et en faisant la fête directement avec lui, fonctionne toujours sur Windows XP et Windows 7. Je pense que cest un excellent exemple de compatibilité ascendante via lengagement de Microsoft ‘ à la compatibilité descendante .

Réponse

Je pense que cest juste que lécriture de logiciels compatibles vers lavant demande plus defforts. (= coût) vaut la compatibilité doit être évaluée par lentreprise de lancement.

Par exemple, les schémas de base de données peuvent changer. Ils peuvent être migrés automatiquement (pour une meilleure expérience utilisateur) ou ignorés (pour moins defforts de développement) .

Réponse

Certains programmeurs lisent la documentation et écrivent du code qui utilise le système dexploitation comme le dit la documentation eux à. Dautres programmeurs écrivent du code plus rapidement et déboguent tout code qui ne fonctionne pas.

Un bon exemple sera le code qui ne peut pas gérer les fenêtres à deux chiffres numéro de version; il néchouera pas les tests sur Windows 8, mais lorsquil est utilisé sur Windows 10… ..

Ensuite, vous avez des jeux qui sont écrits pour être aussi rapides que possible , contournant le système dexploitation ne se souciant pas de savoir sils fonctionneront dans quelques années… ..

Prenez un programmeur qui se penchait sur le programme fonctionnant sur un logiciel Unix à lépoque où chaque fournisseur avait sa propre version dunité, qui Le programmeur sera très habitué à lire les normes et UNIQUEMENT en fonction de ce que disent les normes. Le fait de devoir expédier votre logiciel sur 6 versions différentes dUnix vous apprend rapidement à être prudent. Comparez cela avec un programmeur qui a appris sur VB, où il est courant de simplement changer le code jusquà ce que cela fonctionne …… Mais mettez le «programmeur de type Unix» sur la même tâche que le «programmeur de type VB» et souvent la personne qui a appris sur VB produira un résultat qui pourra être vendu beaucoup plus rapidement.

Lors des entretiens avec le personnel, les gens ont tendance à choisir des personnes partageant les mêmes idées, donc une fois quune entreprise a ses premiers employés, les nouveaux employés ont tendance à penser de la même manière.

Réponse

Je pense que la principale raison du manque de compatibilité ascendante serait la pénurie des programmeurs qui travaillent et qui sont également clairvoyants.

Commentaires

  • Je ‘ en ai plusieurs pkunk programmeurs pour exactement cette raison. Je les paie en Pootworms, ce qui est incroyablement bon marché.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *