Pour gérer vos consentements :

Microsoft a snobé Windows 9 : une histoire de code ?

Ce mardi 30 septembre, Microsoft levait le voile sur Windows 10, présenté comme une plate-forme convergente orientée cloud et mobilité avec un focus sur la productivité « cross-device ».

Recherche universelle, bureaux virtuels, retour du menu Démarrer… Les démonstrations se sont succédé, mais une question est restée en suspens : pourquoi ne pas avoir choisi le nom commercial « Windows 9 », qui s’inscrivait dans la suite logique de Windows 8 ? Microsoft a bien tenté d’expliquer que le chiffre 10 reflétait plus pertinemment le concept d’expérience unifiée. Mais les observateurs sont restés dubitatifs : selon certains, l’éditeur a voulu marquer la rupture avec la version actuelle de son OS, froidement accueillie par le public depuis sa sortie en octobre 2012.

Une autre hypothèse fait son chemin dans la communauté des développeurs. Sur le réseau social américain reddit, un utilisateur postant sous le pseudonyme « cranbourne » et se revendiquant développeur Microsoft affirme que le problème est lié à une implémentation de code dans certains programmes tiers.

De nombreux logiciels encore exploités actuellement en entreprise examinent la machine sur laquelle ils s’exécutent pour ajuster automatiquement leurs paramètres. Plusieurs milliers d’entre eux remontent jusqu’à de très anciennes versions de Windows pour maximiser la compatibilité.

Selon le langage dans lequel ils sont écrits, les programmes récupèrent soit la version du noyau (NT 6.1 pour Windows 7, NT 6.2 pour Windows 8…), soit le nom commercial de l’OS. Visual Basic entre dans la première catégorie avec la fonction GetWindowsVersion, tout comme Python avec platform.release() et le C avec GetVersionEx. Les éditeurs qui exploitent JavaScript ont tendance à choisir la deuxième solution… Ce qui pose problème avec la fonction suivante :

if(version.StartsWith(« Windows 9 »))
{ /* 95 and 98 */
} else {

Si le programme détecte la chaîne de caractères « Windows 9 » dans le nom du système d’exploitation, il bascule en mode de compatibilité pour Windows 95 et 98. C’est d’autant plus problématique que cette portion de code a tendance à subsister dans les logiciels commerciaux qui existaient déjà dans les années 90 et qui sont encore commercialisés aujourd’hui.

Selon plusieurs des développeurs qui s’expriment sur le fil de discussion reddit, la logique chez beaucoup d’éditeurs est de laisser le code tel quel tant qu’il fonctionne, essentiellement pour des questions de temps… et parce que Windows le tolère : Microsoft fait régulièrement évoluer ses interfaces de programmation, mais fait en sorte d’assurer une compatibilité maximale avec les anciens programmes.

A noter qu’il est récemment arrivé le même type de souci avec le plugin Java pour Mac, qui interprétait OS X 10.10 comme la version 10.1.

—— A voir aussi ——
Quiz ITespresso.fr : connaissez-vous bien Microsoft ?

Crédit illustration : Lonely – Shutterstock.com

Recent Posts

IA et RGPD : sont-ils compatibles ?

Quelle part d’incertitude faut-il accepter dans la mise en conformité des IA avec le RGPD…

2 semaines ago

Windows 10 : quel coût pour le support étendu ?

Microsoft a dévoilé les prix des mises à jour de sécurité étendues pour Windows 10.…

3 semaines ago

Cybersécurité : la plan de Docaposte pour convaincre les PME

Docaposte a sélectionné une douzaine de spécialistes français pour créer un Pack cybersécurité spécialement étudié…

1 mois ago

Surface Pro 10 : plus autonome et un peu plus réparable

La Surface Pro 10 sera disponible le 9 avril en France. Passage en revue de…

1 mois ago

Office 2024 : ce qu’on sait de la prochaine version

Que réserve Office 2024 ? Une première version de test officielle sera disponible en avril.…

1 mois ago

Microsoft Teams : comment fonctionne le double usage « pro-perso »

Microsoft Teams évolue dans une version « unifiée » qui permet de combiner les usages…

1 mois ago