La qualité d’un logiciel se mesure-t-il en nombre de lignes de code ?

J’ai lu quelque part que Microsoft Windows Tou…Vista serait constitué d’environ 75 millions de lignes de code. Un article sur Wikipedia qui cite Andrew « Linux is obsolete » Tanembaum, estime le nombre de lignes de code des différents Windows NT (dont Windows Vista est la version 6.0), que Windows XP comptait environ 40 millions de lignes de code. Soit en gros, le doublement de la base écrite qui constitue le code de Windows Vista.

Non, je ne lancerais pas de troll sur la gourmandise de Vista, son coté sécuritaire ou autres points déjà abordé dans un précédent article.

Je me suis souvenu d’un article qui parlait de la génèse du Lisa d’Apple, l’ancêtre malheureux du premier mac sorti en 1984, et qui justement se moque un peu des lignes de code. Bill Atkinson, inventeur de la technologie QuickDraw considérait que le nombre de lignes de code n’était pas une bonne mesure et qu’un code plus long rendait l’ensemble plus lourd, plus bogué et donc moins facile à maintenir.

Devant faire son rapport hebdomadaire qui demandait le nombre de lignes de code rédigé, il inscrivit  » -2000″. En effet, il avait retravaillé une portion du code qui lui était attribué. Et étrangement, les instances dirigeantes d’Apple ne lui demandèrent plus jamais d’indiquer le nombre de lignes de code ajoutée dans la semaine.

Windows Vista restera-t-il dans la mémoire collective comme un deuxième Windows Millenium ?

En 2000, Microsoft sort l’ultime Windows hybride 16/32 bits sous le nom de Windows Me, alias Millenium Edition. L’accueil est froid, et c’est un des plus grand fiasco de l’histoire de Microsoft.

Au point que PC World lui consacra une partie de l’article consacré au 25 pires produits jamais inventé en informatique, lui accordant la 4ième place.

Windows Vista sorti 5 ans après Windows XP, avec des bogues digne du « brown paper bag » (sac en papier qu’on se met sur la tête tellement que l’on a honte) comme le bug de la copie de fichier qui prenait un temps énorme avant sa correction avec le service pack 1.

Mais le chemin de croix continue pour Windows Vista. 35% des PCs vendus avetic Windows Vista serait « rétrogradé » en Windows XP.

Le « coup de grâce » – car beaucoup d’utilisateurs de Windows attendent avec impatience Windows Seven qui devrait sortir d’ici fin 2010 – c’est la faible pénétration de Windows Vista en ce qui concerne les statistiques de visites sur les sites internet… Une étude sur Xiti est sans appel.

Je cite :

Belle performance de Linux qui atteint 1.16% en part de visites

Avec 93.6% des visites en août 2008, Windows règne toujours en maître sur le marché des systèmes d’exploitation. Mac OS (4.1%) conserve sa seconde position, suivi par Linux (1.2%).

En clair, Windows XP fait de la résistance, et une faible frange des utilisateurs de Windows XP qui ne passe pas à Windows Vista se tourne soit vers linux (0,21 point en plus depuis mars dernier), soit vers Mac (0,08 points depuis mars dernier).

Est-ce encore trop tôt pour être aussi catégorique ? Peut-être.

Mais une chose est sûre, ce n’est pas pour rien que la campagne – désormais sans Seinfeld – de pub pour Windows Vista n’est pas présente pour rien.

Les OS 64 bits, bientôt sur nos bureaux ?

Dans le commentaire d’un billet précédent Antistress m’avait dit : « Fred : tu devrais faire un billet sur les avantages/inconvénients d’un système 64 bits car le gens ne sont pas très au courant de cette possibilité (à commencer par moi…) »

J’ai donc décidé de faire ce billet, même s’il risque d’être un brin long, même si les avantages / inconvénients se résument à quelques lignes. Car un long rappel historique est nécessaire.

Continuer la lecture de « Les OS 64 bits, bientôt sur nos bureaux ? »

Et si Microsoft avait besoin de repartir de la feuille blanche ?

MS-Windows Vista est un monstre de complexité, tout comme les logiciels récents, qui sont toujours plus complets, toujours plus complexe, toujours plus gourmands.

Alors, il faut se l’avouer, une personne qui utilisent ses deux doigts pour taper une lettre mettra toujours autant de temps à taper une lettre avec un MS-Word 6.0 pour MS-Windows 3.1 sur un 486 DX2 66Mhz épaulé de 8 Mio de mémoire et 200 Mio de disque que sur un MS-Word 2007 sur un Athlon64 X2 3800+ épaulé de 2 Gio de mémoire vive et 500 GiO de disque dur avec MS-Windows Vista.

Tout au plus, aura-t-il gagner un peu de souplesse à l’utilisation, mais sa vitesse de frappe sera sensiblement identique. Seul un apprentissage de la dactylographie lui serait alors bénéfique.

Quand Apple a racheté Next vers 1998, Mac était dans le creux de la vague, et le viellissant MacOS (7.5 à l’époque) commençait à sentir ses articulations craquer sous le poids du code datant parfois de 1984, même si entre temps, une transition avait été effectuée du code 68000 vers du code pour PowerPC.

Ce qui allait devenir MacOS-X, connu alors sous le nom de Rhapsody se basait sur NeXTStep, un OS basé sur des principes unix – donc des bases plus que solides, mais surtout, qui ne se trimballait pas une nécessaire compatibilité avec des logiciels mac assez vieux.

MacOS-X n’avait alors de Mac que l’appellation. Lors de la sortie de MacOS-X 10.0 en 2001, un « boite » permettait de faire fonctionner les vieux logiciels pour Mac via une émulation.

Bien entendu, au fil des versions, les besoins en vieux logiciels pour Mac ont été réduit à néant ou presque. D’ailleurs, c’est avec la sortie de MacOS-X Leopard en 2008 qui a signé la mise à mort de l’émulateur.

Prenons le cas de MS-Windows Vista. Il n’est pas issu de la branche originelle de Windows, celle d’une surcouche graphique pour DOS, comme cela fut le cas pour les Windows 1 à 4.90 (Windows 1.0.x en 1985, 2.0.x en 1987, 3.0.x en 1990, 3.1x en 1992 et 1993, Windows 4.0 alias Windows 95, 4.1 alias Windows 98 et 4.9 alias Windows Millenium).

MS-Windows Vista n’est autre que Windows NT 6.0. La branche NT (pour New Technology) se base sur du code développé à l’origine en commun avec IBM pour pondre ce qui devait être OS/2 3.0.

Mais vers 1991, Microsoft abandonne IBM et lance « officiellement » le développement de la branche professionnelle de NT, dont le premier sera Windows NT 3.1 en 1992.

1993 vera la sortie de NT 3.5, 1994 celle de NT 3.51. Les trois premières versions de Windows NT – et de leur équivalent serveur – reprennent l’interface graphique de Windows 3.1x, mais diffère en deux points précis :

  • C’est un OS à part entière, pas uniquement une surcouche de DOS
  • C’est un OS entièrement 32 bits, contrairement à un mélange infame de code 16 et 32 bits comme cela sera le cas pour les windows 9x / Millenium

1996 : sortie de Windows NT 4.0
1999 : le code de NT 5.0 est enfin finalisé pour une sortie en février sous le nom de Windows 2000.

C’est – je parle par expérience personnelle – mon MS-Windows préféré.

2001 : NT 5.1 alias Windows XP sort, devenant le premier NT grand public.
2006 : NT 6.0 sort après bien des péripéties.

Donc, si l’on regarde, Windows Vista est le fruit d’une branche née 15 ans auparavant. Autant dire que l’héritage est important. Ce qui doit finir par rendre le code difficile à maintenir, surtout qu’il faut détruire le moins possible le support du code prévu pour les Windows précédents.

Le futur Windows se7en dont on ne sait pas grand chose si ce n’est qu’il est prévu pour 2010 dans le meilleur des cas sera la fin de course de cette branche NT.

Pour plusieurs raisons : la vieillesse du code. Car il doit bien rester du code d’origine du premier NT plus ou moins retravaillé, du code conservé pour la compatibilité, etc…

Il serait donc primordial que Microsoft reparte de zéro, sur des bases saines pour pouvoir construire une nouvelle génération de Windows moins gourmande, moins difficile à maintenir, au prix de la mise à mort de générations entière de logiciels.

Dans un autre domaine, il suffit de voir à quel point cette décision difficile à prendre est bénéfique. Je ne prendrais que le cas de la Fondation Mozilla qui a fêté en mars dernier les 10 ans du projet mozilla.

Quand en mars 1998 le code est libéré – qui est alors une pré-alpha de ce qui aurait être Communicator 5.0, du travail est effectué dessus durant environ 6 mois avant que la décision ne soit prise : le code est trop dur à maintenir, il faut repartir à zéro.

Bien entendu, la sortie prématurée de Netscape 6.0 courant 2000 (basé sur Gecko 0.6) fait mal au projet, mais permet de prouver que cette idée était finalement la bonne. Même s’il a fallu attendre Mozilla Firefox 1.0 pour que la machine soit lancée pour un succès marquant du projet.

Si Microsoft veut redorer son blason auprès de ses utilisateurs fidèles – ceux qui ont choisi en pleine conscience d’utiliser leurs logiciels – après le demi-succès de Windows Vista plus que vertement critiqué à sa sortie, il faudra un jour passer par cette étape.

Et peut-être faire ce qu’avait fait Apple avec le rachat de Next : partir d’une base unix en utilisant une interface graphique qui cache le côté ésotérique de cet OS, sa ligne de commande. Ce serait peut-être le moyen d’éradiquer les virus, les espiogiciels, bref tout ce qui fait partie des ennuis de la vie du windowsien moyen.

Et si le logiciel libre était répulsif à cause de la liberté de choix qu’il propose ?

Chaque année depuis 1998, on nous promet que ce sera l’année de l’envol pour Linux version bureau. Et chaque année, de repousser cet avènement à l’année suivante.

Si un OS alternatif à Windows commence à lui tailler des croupières, c’est bien le bon vieux Mac, qui s’est offert avec MacOS-X dans les années 2001 une cure de jeunesse bienvenue à un MacOS mis à jour constamment depuis ses premières versions datant de 1984…

Cependant, la répartition est toujours du genre : 95% de Windows (grace à la vente liée et à la création d’un marché captif par la facilité de pirater Windows), 4% de MacOS-X, et 1% pour Linux et autres OS libre.

Une des raisons du succès de Windows, c’est d’offrir du « pré-maché », même s’il faut rajouter sur un windows – quelque soit sa génération – au minimum un duo anti-virus et anti-espiogiciel. Ce dernier ayant pris de l’importance depuis une bonne demi-douzaine d’années environ.

Si on regarde un windows typique, tout est « prémaché » pour l’utilisateur :

  • Pour la navigation internet : Internet Explorer.
  • Pour la lecture des fichiers multimédia : Windows Media Player
  • Pour le courrier : Outlook Express devenu Windows Mail sous Windows Vista

Même si ce sont des outils loin d’être parfaits, ils forment une limite basse de qualité. Il suffit de comparer la qualité du rendu ou du niveau de support des normes internationales en matières de pages internet que propose la concurrence à Internet Explorer, en l’occurence les navigateurs basés sur Gecko, sur Webkit ou encore le navigateur Opera. IE est à chaque fois battu à plate couture.

L’ignorance de l’existance de la concurrence et / ou le codage des pages ont permis à IE de conserver un niveau de parts de marché de 75% environ en Europe. Soit une chute de 20 points en l’espace de 4 ans.

Ce qui est vrai pour IE, l’est aussi pour les autres outils que fournit Microsoft, comme le montre la liste aussi longue que le bras de paquets de codecs pour Windows Media Player ou encore le nombre de clients courriers pour Windows : Mozilla Thunderbird, The Bat!, Claws Mail, etc…

Malgré les défauts souvent énormes, Windows et les logiciels Microsoft conservent leur place de logiciels étalons.

Prenons le monde du logiciel libre. Pour chaque tache, il suffit de voir que le nombre d’outils de trois, voire plus.

Par exemple, pour naviguer sur internet, l’on a le choix entre des navigateurs utilisant Gecko (Mozilla Firefox, Epiphany jusqu’à ses versions 2.22.x), Konqueror utilisant KHTML qui serait remplacé à terme par Webkit, Midori (utilisant Webkit, le coeur de Safari d’Apple), Opera.

On veut lire un fichier multimédia ? VideoLanClient, Mplayer, Totem sont proposés.

Du traitement de texte ? OpenOffice.org Writer, Abiword, Kword sont disponibles.

Du tableur ? OpenOffice.org Calc, Gnumeric, Kspread sont disponibles.

Et contrairement à Windows, l’interface graphique n’est pas autant figé. On peut choisir entre :

Si on veut du plus léger ? Les gestionnaires de fenêtres sont alors très nombreux : fvwm, fluxbox, openbox, windowmaker, etc…

Et que dire du choix des distributions ? On peut tout choisir dans le monde libre. C’est peut-être donc ce choix hypertrophié fait peur aux personnes qui veulent quelque chose de louable : quelque chose qui fonctionne sans que l’on se pose de question, mettant aux toilettes un point primordial : c’est au logiciel de s’adapter à l’utilisateur et non l’utilisateur à s’adopter au logiciel.

10 ans déjà… La libération du code source de Netscape…

31 mars 1998 : le code source de ce qui devait devenir Netscape 5 est rendu public, et est publié sous un contrat de logiciel libre…

10 ans déjà. 10 ans ? Internet Explorer était alors en version 4.0, la version 5.0 devait sortir dans les mois qui suivait. Windows 98 n’était pas encore sorti, mais se plantait déjà en public :

10 ans… Et le bilan n’est pas si mauvais que cela. En 2001, la part de marché d’Internet Explorer était d’environ 95%… Quand Mozilla 1.0 sort en 2002, la situation est critique en terme de part de marché. Seule la sortie de Mozilla Firefox 1.0 en 2004 commence à inverser la tendance, jusqu’à obtenir 28% des parts de marché en Europe en janvier dernier, et ce, malgré la relance d’Internet Explorer, au point mort entre 2001 et 2006… 2001 étant l’année de sortie d’Internet Explorer 6, et 2006, celle d’Internet Explorer 7…

Quel sera la part de marché des deux principaux acteurs dans 10 ans ? Seul l’avenir nous le dira 😉