jeudi, janvier 15, 2009

Neuf langages pour 2009

Loin du fracas eschatologique des anticipations financières pour la nouvelle année tout autant que des « bonnes résolutions » des prosélytes de l'informatique « verte », l'An Neuf sera peut-être celui des habits neufs des langages de programmation. Outillage éprouvé des modestes soutiers, les programmeurs, d'une industrie informatique qui cherche aujourd'hui à se réinventer, les langages de programmation, qu'ils soient confinés à la confidentialité jalouse des laboratoires des grands éditeurs ou doctement débattus dans les sphères raréfiées de la casuistique Open Source, sont en pleine mutation et promettent en 2009 un retour triomphal au premier plan du Web.

En effet, les quelques années qui viennent de s'écouler ont vu renaître à la fois les travaux théoriques et les implémentations pratiques des langages de programmation, anciens comme neufs. Ce renouveau dans la recherche et dans les applications est évidemment à attribuer au premier chef à la généralisation de l'architecture informatique répartie du Web — tant dans ses usages grand public que professionnel. L'ascendant pris par Javascript pour les applications Web, par exemple, est tout à fait exemplaire de ce mouvement de fond. Plus généralement, beaucoup de ces nouveaux langages sont lancés sous la bannière du « langage de script » pour une classe d'applications particulière — le Web en général, mais aussi les jeux avec le brésilien Lua par exemple. Mais on trouve également dans cette nouvelle génération qui sort des bacs à sable expérimentaux des mathématiciens-logiciens, des tentatives inédites de solutions aux questions posées par les puces multi-cœurs qui ouvrent, depuis peu, l'accès à la terra incognita de la concurrence et du parallélisme extrême. D'autres enfin qui illustrent des percées théoriques commencent à trouver des implémentations efficaces permettant d'imaginer un emploi plus généralisé dans des applications d'entreprise.

Voici donc, pour 2009, neuf langages de programmation, méconnus ou pas, auxquels s'intéresser pour décrasser un peu nos talents de développeurs et explorer les nouvelles idées modernes sur la compilation, l'interprétation et l'exécution des programmes d'ordinateurs. (Qu'on se rassure d'emblée : aucun code ne sera ici présenté, par respect pour les âmes sensibles ; et aucun code n'a été exécuté dans ces langages pour rédiger cette chronique.)

Pour commencer, la banalisation de la machine virtuelle Java et l'amélioration constante des performances de ses diverses implémentations ces dernière années ont conduit à une floraison de langages, nouveaux ou portés, qui s'appuient sur la VM Java et son bytecode.

Scala

Scala est une fusion des programmations orientée objet et fonctionnelle dans un langage de programmation à types statiques. Non content de ressembler à Java, Scala est complètement interopérable avec des classes et du code écrit en Java.

Le modèle objet de Scala est uniforme : toute valeur est un objet, toute opération un appel de méthode. Scala est un langage fonctionnel au sens où toute fonction est elle-même un objet et peut-être traitée comme une valeur — on peut en particulier appeler la méthode apply pour l'exécuter sur une liste d'arguments.

Scala offre un modèle uniforme pour les deux grandes catégories d'abstraction indispensables dans les langages de programmation : la paramétrisation des types (comme les templates dans C++, et les generics dans les versions de Java supérieures à 5.0) et les méthodes abstraites, propres aux langages de programmation orientés objet ; Scala offre ces deux mécanismes uniformément tant sur les types que sur les valeurs. Pour les mécanismes de composition entre classes également, Scala se distingue par une grande richesse expressive : il y a évidemment héritage possible entre classes mais également composition par mélange (mixin comme dans les pionniers antiques Flavors et CLOS basé sur Lisp), ce qui permet une forme d'héritage multiple. Pour être complet, Scala offre également un mécanisme de décomposition qui, fonctionnant grâce à la reconnaissance automatique du type des arguments d'un appel, va exécuter la bonne méthode sur un objet composé. Ces objets composés peuvent également être décrits en XML directement dans le code source ; Scala offre nativement un modèle de données XML simplifiant le traitement des données structurées au format rendu populaire par les services Web.

La communauté Scala s'agrandit de jour en jour et explore activement le domaine des applications que ce langage particulièrement riche permet de développer efficacement et rapidement. Un framework pour Scala, Lift, et un plug-in Eclipse, par exemple, ont déjà vu le jour.

Clojure

Clojure est un autre langage de programmation qui tourne sur la VM Java. L'objectif initial est de fournir un langage de général programmation qui compile directement du bytecode Java tout en offrant au programmeur le confort d'un langage de script et une infrastructure robuste et fiable pour de la programmation multithread.

Clojure est un dialecte de Lisp (proche de Scheme, un autre dialecte antérieur de Lisp et relativement populaire) à considérer comme ressortissant principalement de la programmation fonctionnelle. Comme dans le cas de Scala, Clojure peut tout naturellement faire appel à des classes et à des bibliothèques Java dynamiquement et bénéficier ainsi de tout le travail de développement antérieur sur ce code Java.

Clojure présente un modèle d'agents qui s'appuie sur l'implémentation de l'exécution de threads en Java. Ainsi la programmation de tâches concurrentes et de leurs communications est largement simplifiée (comme dans le modèle d'acteurs du langage de programmation Erlang issu de l'industrie des télécoms).

Il existe déjà des initiatives intéressantes autour de Clojure qui a systématiquement figuré, en 2008, au sommaire de toutes conférences sur la programmation fonctionnelle : des frameworks comme Compojure et Webjure pour les applications Web, des plug-ins pour Netbeans et même un mode pour Emacs (la consécration !).

JRuby et Jython

Alors là, direz-vous, ce ne sont pas du tout de nouveaux langages mais bien des implémentations de langages de programmation par ailleurs fort connus — en l'occurrence Ruby et Python — en Java. Qu'y a-t-il de neuf là dedans ?

Le point intéressant est ici que Jython et JRuby illustrent une direction récente de développement prise par la communauté Java — et probablement inspirée du succès technique de la CLR concurrente de Microsoft qui, dans l'architecture .Net, permet de faire tourner des langages de programmations très variés (de Visual Basic et C# jusqu'à C++, JScript, IronPython, IronRuby, Phalanger/PHP, ou Boo) — autour du scripting des bibliothèques et de l'environnement Java. Cet aspect universaliste de la VM Java fait l'objet du JSR 223 qui spécifie les interactions entre un langage de script et Java (le paquet javax:script). Cette spécification et l'implémentation qui en est prévue dans Java 6 permet l'exécution, depuis un programme en Java, de scripts écrits dans un autre langage ; l'exposition d'objets Java comme variables ou objets dans des scripts ; la compilation des scripts ; l'invocation de méthodes ou de fonctions individuelles dans un script et la découverte au vol des moteurs de scripts présents au moment de l'exécution.

Jython et JRuby sont des implémentations respectivement de Python et de Ruby mettant en œuvre ces nouveaux mécanismes de la VM Java. Ces deux langages illustrent parfaitement l'idée de mêler dans une même application des modules écrits dans des langages de natures différentes — par exemple, en choisissant le plus adapté à la tâche en cours — et en s'abstrayant plus encore des différences de matériel et de systèmes d'exploitation d'une machine à l'autre.

Javascript

L'année qui s'annonce est particulièrement intéressante pour l'évolution du langage Javascript dont les modestes débuts sous le nom de scène LiveScript datent de l'époque de Netscape Communications restèrent longtemps inaperçus avant de connaître une gloire récente dans le grand mouvement Ajax et Web 2.0 dont il est devenu la cheville ouvrière.

Tout au long de l'année passée, Javascript a figuré dans l'actualité, en particulier dans celle de la fondation Mozilla. En août dernier était annoncé TraceMonkey, la nouvelle version du moteur Javascript du navigateur Firefox dans sa version 3.1. TraceMonkey intègre de nombreuses innovations pour le langage : un compilateur au vol (Just In Time Compiler ou JIT compiler) mettant en œuvre de nouvelles techniques de compilation (dites d'arbres de traces développées à l'Université de Californie, Irvine).

Au même moment le projet d'intégrer SpiderMonkey, la version précédente du moteur Javascript de Mozilla, avec Tamarin, un moteur développé par Adobe pour ActionScript à l'origine et donné en Open Source à la fondation Mozilla en 2006, était arrêté. Adobe a néanmoins déclaré vouloir continuer à utiliser Tamarin dans les versions ultérieures de son FlashPlayer.

Dans le même temps, sortait Rhino une implémentation Open Source de Javascript entièrement en Java, bénéficiant, comme mentionné plus haut, des nouveaux avantages de l'intégration explicite de langages de script dans la VM Java. Cette implémentation, hors du navigateur auquel Javascript était habituellement confiné, ouvre de plus à Javascript le terrain des applications côté serveur. La disponibilité de Rhino a elle-même encouragé de nombreuses initiatives visant à élargir le champ d'application du langage Javascript lui-même. Un seul exemple, celui de Rhino On Rails le formidable télescopage du framework Rails, principale raison du succès de Ruby auprès des développeurs d'applications Web, et de Javascript via le moteur Rhino. Au passage, on pourrait, ce faisant, totalement inverser l'architecture usuelle du client Javascript s'adressant à un serveur basé sur les servlets Java en utilisant, en miroir, Java sur le client, par exemple via le Google Web Toolkit, s'adressant à un serveur en Javascript avec Rhino on Rails !

Quant à la standardisation du langage lui-même et la nouvelle version de sa spécification si impatiemment attendue, l'heure est à l'apaisement des querelles internes et à l'œcuménisme depuis août dernier. La nouvelle spécification, Harmony, est espérée incessamment et devrait influer sur les nouvelles versions d’ActionScript chez Adobe et de JScript dans IE8 chez Microsoft. Sur ce front également les annonces devraient arriver en 2009.

Enfin des environnements très complets et exceptionnellement riches ont rapidement germés pour faciliter et accélérer l'emploi de Javascript dans les applications (Web) les plus variées. Citons, par exemple, les bibliothèques jQuery de John Resig, qui fêtent leur troisième année en 2009 et sans lesquelles il est inimaginable d'envisager un développement d'applications Web de quelque ampleur ; on peut également citer le projet Open Source DreamFace Interactive pour un environnement ouvrant aux non-programmeurs la création et le partage de mashups interactifs et personnalisés.

Java, C++

N'y en aurait-il que pour les nouveaux langages, dialectes obscurs et créoles abscons ou langages de script portés par la vague hypermoderne Ajax/Web 2.0 ? Les fiers et solides parlers de jadis auraient-ils péri fautes de locuteurs ?

Point du tout. Non seulement ils n'ont pas dit leur dernier mot — si l'on peut dire — mais leur usage continue à être prédominant : Java, C et C++ se classent aux première, seconde et troisième places.

Java continue sa route innovante depuis presque quinze ans. Chez Sun, on explore les territoires du calcul de haute performance (HPC) avec Fortress une évolution de Java ciblant les supercalculateurs et les applications scientifiques. Par ailleurs, le Java Community Process, mis en place par Sun pour accompagner l'évolution du langage fourmille de projets et de développements, témoignant de l'intense activité visant à étendre les domaines d'application du langage. La prochaine livraison, JDK 7, devrait intégrer des nouveautés pour la programmation d'applications parallèles sur multicœurs.

Le séminaire JVM Language Summit, organisé par Sun en septembre dernier, a permis de faire le point sur tous les développements de la machine virtuelle Java avec, en particulier la VM Parrot (visant principalement Python, Perl, PHP et Ruby) met en œuvre les continuations, une construction abstraite de l'état de l'exécution d'un programme, ou encore le projet Da Vinci Machine d'une nouvelle VM Java qui soit utilisable nativement pour d'autres langages que Java.

Les sigisbées de Stroustrup ne sont, quant à eux, pas en reste. Le vénérable C++ continue son développement au sein du Working Group 21 de l'ISO/IEC. Dans une interview datant d'août dernier le père du langage traçait les grandes lignes de la nouvelle spécification, répondant au nom poétique de C++0x, attendue pour 2009 — et logiquement rebaptisée C++09, le cas échéant. De nombreuses extensions sont prévues avec un effort particulier (comme pour Java, Scala, etc.) sur le parallélisme et la gestion des threads, les échanges asynchrones et toute une infrastructure de communication entre processus indispensable à la mise en oeuvre de programmes sur une architecture répartie. Dans les bibliothèques on nous promet des expressions régulières (regexp), des tuples, des hash tables, etc. autant de structures de données et de types rendus populaires par d'autres langages de programmation. Enfin — et C++ ne serait pas C++ s'il ne présentait quelque hapax technologique inaccessible au commun des mortels — nous assisterons, entre autres, à l'apothéose des variadic templates qui permettent de créer des classes et des fonctions templates acceptant un nombre arbitraire d'arguments (pour les fonctions) ou de paramètres (pour les classes et les structures) — variabilité extrême des modèles, modèles extrêmes de variabilité !

Ces évolutions récentes se déroulant au rythme alangui des organisations internationales de standardisation — qu'est ce qu'une décennie au regard de la formulation exacte de la catégorie de Kleisli définissant les variadic templates ? — n'ont donc pas empêché les plus pressés de définir dans l'interim de nouveaux langages de programmation visant clairement à compléter et améliorer C++ dans le contexte du succès croissant de quelques autres langages. Sur ce front, le langage de programmation (imaginativement baptisé) D est particulièrement intéressant — deux implémentations à suivre, celle de Digital Mars et celle de GNU par une extension de gcc. D dispose de bibliothèque de runtime; en fait il y en a deux quelque peu concurrentes : Phobos et Tango. D est un langage compilé en code natif (comme le C/C++) offrant un niveau de performance très élevé, tout en intégrant des facilités qu'on trouve dans des langages connus tels Java et C# : interfaces, réflexion, garbage collector (gestion de la mémoire automatisée), programmation par contrat, exceptions, etc. (Et les variadic templates, tout va bien !) Le référentiel dsource.org collecte les projets et les outils basés sur D.

Haskell

Quoi ? Comment ? Qu'est-ce, Haskell ? Haskell est un langage de programmation nommé en l'honneur du mathématicien logicien américain Haskell Curry spécialiste, non pas des plats épicés indiens, mais de la logique combinatoire ! (À vrai dire, le logicien a inspiré un autre langage de programmation fonctionnel, inévitablement appelé Curry.) On a également donné son nom, en mathématiques, à l'opération logique qui transforme une fonction de deux arguments :

f: X, Y -> Z

en une fonction associée à un argument qui renvoie elle-même une fonction à un argument :

curry(f): X -> (Y -> Z)

telle que Z = f( X, Y ) = (curry(f)( X ))( Y ). Voyez que vos premiers pas en programmation fonctionnelle ne sont pas si difficiles que ça...

Haskell n'est pas un langage réellement nouveau puisque les premiers travaux de recherche datent de 1990 environ (LISP date de 1960 avec les premiers papiers de John McCarthy). Mais il est devenu important aujourd'hui parce qu'il a inspiré et continue à inspirer les concepteurs de la nouvelle génération de langages de programmation et d'environnement de développement, voyez F# chez Microsoft Research — mais aussi ceux qui continuent à s'intéresser aux vénérables langages, voir FunctionalJ ou FC++ pour d'intéressantes variations sur le thème. (Il y a bien sûr un major mode Emacs pour Haskell !)

R

Pour conclure sur une note primesautière après l'originalité déroutante des monades et de l'évaluation paresseuse de Haskell, je cherchais un langage — dont le nom tienne encore en une lettre, comme il sied — plus proche des préoccupations des utilisateurs et des applications métier. Ce qui exclut d'emblée J, un langage dont les points forts brillent dans les applications mathématiques et statistiques. (Et puis la syntaxe inspirée d'APL peut rebuter les âmes mêmes les mieux trempées.)

À ce point de la réflexion, ayant constaté le peu de lettres libres restant pour désigner un langage de programmation avenant sur le site Hello World je tombe sur un récent article du New York Times qui, sujet tout à fait inhabituel pour ce quotidien historique, met en avant un langage de programmation sous les illustrations photographiques des figures réjouies de deux statisticiens érudits ! R est en fait un langage et un environnement exploratoire pour les statistiques, et l'analyse de données, en particulier, l'analyse graphique. La version 2.8.1 a été livrée en décembre dernier et tourne sur différents UNIX, sous Windows et sous MacOS. La conférence annuelle s'appelle évidemment « useR » et l'édition 2009 se déroulera précisément à Rennes, en juillet prochain : l'occasion rêvée de vacances estivales studieuses.

R est particulièrement adepte à la manipulation des listes, séquences et matrices de données qui font le quotidien du statisticien laborieux. De plus R intègre déjà toute une bibliothèque de modèles de données indispensables dans l'analyse et la représentation des données : régression linéaire, ANOVA, résidus, variance-covariance, déviations, kurtosis, moindre carrés, distribution de Poisson n'ont aucun secret pour R. Doté de primitives de dessin en 2 et 3 dimensions, R facilite la visualisation des données. R est l'exemple parfait du Domain Specific Language, le langage spécifique à un domaine ou à un compartiment fonctionnel donné.

Voilà donc le programme pour 2009, à raison d'une quarantaine de jours par langage, il n'est pas impossible d'élargir son horizon en découvrant neuf nouveaux langages pour la nouvelle année. Et ensuite ? Ensuite on en reviendra aux prédictions de Peter Landin, rédigées en 1966 à l'aube de l'explosion de l'informatique et de la recherche sur la programmation, et l'on attaquera haut les cœurs The Next 700 Programming Languages (les 700 prochains langages de programmation) !

vendredi, janvier 09, 2009

MAM contre le spam ; Microsoft Research pour le phishing

Pour lutter contre la cybercriminalité, le Ministère de l'intérieur a annoncé un plan global d'action qui vise d'une part à améliorer les moyens de coopération internationale et d'autre part à renforcer les effectifs techniques et humains :
  • doublement des effectifs de l'Office central de lutte contre la criminalité liée aux technologies de l'information et de la communication — superbe acronyme : OCLTIC ; on espère un « T » aphone qui permettrait d'assurer une forme de continuité entre l'injonction traditionnelle « au poste ! au poste ! » et sa nouvelle version cybermoderne « oclic ! oclic », tout à fait de circonstance ;
  • amélioration de la formation avec un nouveau cursus universitaire adapté et un diplôme de « cyberflic » ; (JingJing et ChaCha ne sont pas loin !) ;
  • enfin, sous les habits doucereux d'un site paternaliste de conseils et de préventions, un portail public de dénonciation dit prosaïquement « portail de signalement » à l'URL www.internet-signalement.gouv.fr, une version en ligne de la bocca di leone des doges vénitiens de jadis ;
  • enfin, un service téléphonique au n° d'appel 0 811 02 02 17 (prix d'un appel local) a été mis en place. Il est destiné à renseigner les particuliers qui pourraient être confrontés à des escroqueries ou tentatives d'escroquerie en ligne. (L'ayant composé à l'instant, je suis informé « qu'on ne pourrra donner suite à mon appel ».)

Plusieurs catégories de « signalements » sont prévues :

Pédophilie ou corruption de mineur sur Internet

Incitation à la haine raciale ou provocation à la discrimination de personnes en raison de leurs origines, de leur sexe, de leur orientation sexuelle ou de leur handicap

Menaces ou incitation à la violence

Trafic illicite

Mise en danger des personnes

Incitation à commettre des infractions

Spam

Injure ou diffamation

Escroquerie

et, probablement, toute combinaison des précédentes.

Rappelons également que, nonobstant les vives protestations déclenchées par le décret de juin 2008 paru le 1er juillet instituant le sinistre fichier EDVIGE — et qui fut retiré le 20 novembre 2008 au profit d'une version 2.0, l'imprononçable, donc moins attaquable, EDVIRSP, bien qu'à peine édulcoré — la loi Hadopi prévoit bien la « mise sous surveillance » des ordinateurs suspects. Il s'agirait, selon la ministre de l'Intérieur, « d'autoriser sous contrôle du juge la captation à distance de données numériques se trouvant dans un ordinateur ou transitant par lui ». Un décret étendra la conservation des données pendant un an à l'ensemble des acteurs Internet, aussi bien les fournisseurs d'accès, les bornes d'accès Wi-Fi, que les éditeurs de messagerie électronique. Les « signalements » seront quant à eux conservés dix ans.

À l'heure où l'année 2008 s'est illustrée par la découverte de failles dans les protocoles ouverts du Net que l'on croyait simples et fiables — exploit DNS menaçant le routage Internet, faille de BGP et TCP eux-mêmes — et par l'amplification des « cyberguerres » — on est passé des déclarations d'après-coup lénifiantes, « on peut parler d'affaire sérieuse », lors de l'improbable cyberattaque de hackers chinois contre notre infrastructure nationale à de véritables opérations de guerre électronique en plein conflit entre Géorgie et Russie en août dernier — il fallait en effet que s'exprime, dans l'élan patriotique primordial de l'An Neuf, le rang de la France et sa vocation à refonder la protection informatique mondiale des internautes.

Curieusement, Microsoft Research, qu'on ne saurait soupçonner de conflit d'intérêt à l'heure où l'on découvre une nouvelle vulnérabilité d'IE 7, publie une étude de Cromac Herley et Dinei Florêncio tendant à montrer que le phishing n'existe pas ! Dans A Profitless Endeavor: Phishing as Tragedy of the Commons, les auteurs démontrent, modèle de mathématiques économiques à l'appui, que les phishers sont victimes de la tragédie des communs. (Qui faut-il plaindre, les phishers ou les phishés (fichés !) ?) « L'argent facile » que l'on associe à l'hameçonnage informatique ne le serait pas du tout contrairement à ce que le matraquage de la presse, des blogs et des départements marketing des éditeurs de logiciels voudrait faire croire. Reprenant les modèles économiques établis, systématiquement appelés de nos jours à étayer la démagogie du développement durable, nos économistes de Microsoft Research montrent que plus les phishers déploient d'efforts pour escroquer leurs victimes imprudentes, moins importante est leur collecte et plus lourds encore sont leurs investissements pour poursuivre leurs activités illicites. Bref, leurs rendements sont décroissants. Et donc, comme à qui perd gagne, plus on constate l'accroissement du phishing, moins celui-ci coûte-t-il à la communauté en général. De même plus le phishing est rendu facile par l'évolution et la diffusion de technologies, moins les revenus qu'en tireraient les cyber-malfrats seraient élevés. À poursuivre le raisonnement de Herley et Florêncio à son terme le plus extrême, le meilleur moyen de lutter contre le phishing est de le favoriser, en abaissant le plus possible son coût d'entrée : multiplions les failles et diffusons les technologies d'hameçonnage !

Du petit lait pour la Plateforme d'Harmonisation, d'Analyse, de Recoupement et d'Orientation des Signalements (PHAROS).

vendredi, janvier 02, 2009

2009 : Retour vers le futur

Il est devenu habituel de trouver, en cette période de début d'année, l'exercice, parfois convenu, des prédictions des observateurs de l'industrie pour la nouvelle année. (Lire, par exemple, une recension des prédictions de bloggers notables, ou encore "Cinq technologies à surveiller dans les cinq prochaines années".)

Pour ce qui concerne Christine Lagarde et Luc Chatel, point de doute, ce sera le Green IT qui occupera toute l'attention en 2009 — après tout dans Grenelle (de l'environnement) il y a aussi green. Un groupe de travail sera dûment constitué en janvier, dont on attend les conclusions au joli moi de mai 2009 (le prêtre Clément Janequin, compositeur ordinaire du Roi, le chantait déjà au XVIe siècle : « Ce mois de mai, ma verte cotte je vêtirai »). Ne doutons pas qu'après le caractère définitif des réponses apportées par France Numérique 2012 aux questions posées par l'envahissante numérisation de notre vie quotidienne et de notre exception culturelle, ce « Greenelle des technologies de l'information » achèvera de rendre « les Technologies de l’information et de la communication (TIC) moins polluantes et à favorisera leur utilisation au service du développement éco-responsable des entreprises ».

Ne soyons donc pas surpris si, en 2009, des dispositifs anciens reviennent donc au goût du jour. En commençant par le retrait progressif des contrôleurs, coprocesseurs, mémoires, coeurs graphiques et autres composants énergivores de toutes les cartes mères des ordinateurs commercialisés en France en 2009 (comme pour les ampoules à incandescence — après tout « 640K ought to be enough for anybody » avait déclaré un bien jeune Bill Gates...). Puis remettre sur les rails l'ordinateur à manivelle naguère proposé par Nicholas Negroponte. Enfin , comme sur nos autoroutes et routes de l'Hexagone, pourquoi ne pas limiter la vitesse autorisée des paquets TCP/IP sur les fibres optiques et les câbles coaxiaux français — ce qui entraînerait une nette diminution des collisions si coûteuses en octets et en bande passante — et faire obligation légale de les faire circuler tous les datagrammes phares allumés et revêtus d'un gilet jaune fluorescent et d'un triangle rouge pour fluidifier le routage.

D'ailleurs, sur le point de la consommation, l’ADEME est très claire : « un ordinateur doit être complètement éteint chez soi comme au bureau, ce qui prolonge sa durée de vie — sic. Il en est de même pour les autres appareils comme les photocopieuses ou les imprimantes. » L’agence rappelle en effet que la consommation totale des appareils en veille représente la production d’un réacteur nucléaire. Et ce, uniquement en France. Sachez également que même éteint, un ordinateur continue à se fournir en électricité pour gérer l’horloge interne notamment. Le seul moyen de ne plus consommer d'énergie est donc de débrancher complètement son PC. (Il faut dire que ces recommandations ont été publiées au coeur de la canicule de 2003.) Idem pour la consommation Internet, il faut se dégager le plus rapidement possible de cette assuétude neurasthénique à l'ADSL, génératrice de tant de pathologies et de maux sociétaux et si dispendieuse en watts carcinogènes.

Et y a-t-il seulement véritable nouveauté dans ces prédictions pour 2009 ? Un coup d'oeil à peine trente ans en arrière peut paradoxalement nous aider à discerner les sujets pressants d'actualité et à les envisager sous un autre angle :

  • En 1979, Microsoft livre la cinquième version de son Basic. Trente ans plus tard, Microsoft nous annonce Windows 7. Je laisse à chacun le soin de tirer la conclusion qu'il souhaite de ce raccourci temporel. C'est aussi en 1979 que Microsoft déménage d'Albuquerque (New Mexico) à Bellevue (Etat de Washington) — il est improbable que, nonobstant la pression réelle de ses grands concurrents, Google, IBM, Oracle, au premier chef, Microsoft n'en soit réduit en 2009 à revenir dans ses premiers locaux historiques... Steve Ballmer rejoint Microsoft en juin 1979.
  • 1979 est aussi l'année où The Source et Compuserve, les précurseurs de l'Internet version grand public, ouvrent leur Bulletin Board Service (BBS) en ligne et leur courrier électronique — via les lignes téléphoniques et à moins de 300 bauds, s'entend. Succès instantané dans plus de 200 villes aux USA pour The Source. (Dix ans plus tard, en 1989, Compuserve rachètera et démantèlera The Source. Compuserve a cessé de servir la France en novembre 2007.)
  • En mars 1979, ATT lance un réseau de téléphonie cellulaire pilote à Chicago. Xerox ouvre le Palo Alto Research Center (PARC) au coeur de la Silicon Valley.
  • Mais c'est Apple Computer qui, en 1979, fait encore le plus parler de lui : livraison de l'Apple II Plus ($1.195 et 48K de mémoire !), et de l'imprimante thermique Silentype ; sortie de Apple Pascal ; Jef Raskin lance un projet interne confidentiel, nom de code « Macintosh » (Motorola présente cette même année un nouveau microprocesseur, le 68000 ; Intel présente le sien, le 8088). En décembre 1979, Steve Jobs fait une visite, qui s'avèrera historique, au PARC.
  • Le logiciel pour PC entame ce qui se révélera être sa révolution industrielle. Wayne Ratliff, ingénieur chez Martin Marietta et membre des équipes du programme Viking de la NASA, écrit et diffuse, au JPL, un programme, Vulcan, pour PC ; le programme est renommé dBase II après qu'il le fasse distribuer par Asthon-Tate. Software Arts, une obscure boutique de passionnés de programmation pour le PC naissant créée par Dan Bricklin et Bob Frankston, publie Visicalc, distribué par Personal Software, Inc. La même année naissaient ainsi au PC la base de données et le tableur.

    De leurs côtés, SAP annonce et livre SAP R/2 et Software AG Natural.

  • Mais MITS et IMSAI, tous deux pionniers de la micro-informatique et chéris des hobbyistes font faillite et disparaissent. Schlumberger achète un Fairchild Semiconductor qui, à plus de vingt ans, commence à battre de l'aile ; Matra, encore aux mains de l'Etat, s'allie avec Harris Semiconductor.

    Novell Data Systems est fondé en 1979 comme constructeur et développeur de système d'exploitation ; Doug et Larry Michels fondent Santa Cruz Operation (SCO). Egalement en 1979, Gideon Gartner fonde sa société éponyme d'analyse et de conseil ; EMC est fondé par Richard Egan et Roger Marino pour commercialiser, distribuer puis fabriquer des cartes mémoires ; les auteurs de Zork créent Infocom en 1979 pour commercialiser les premiers jeux d'aventures en texte ; Alan Shugart and Finis Conner fondent Seagate Technology et livrent le premier disque dur au format 5,25 pouces ; Bob Metcalfe créée 3Com cette même année pour loger son activité de conseil en réseaux et systèmes ; Stan Shih fonde Acer ; VLSI technology démarre en 1979.

Trente ans plus tard, quelles questions occupent l'esprit des analystes et des bloggers de tous horizons ?

  • Microsoft bien sûr : Windows 7 qui, à peine annoncé, est déjà piraté ; le départ à la retraite de Bill Gates qui laisse la question du leadership technologique du géant de Redmond ouverte pour la première fois ; la consolidation autour des services Web et la concurrence acharnée des jeunes titans de l'Internet qui n'ont jamais autant mis Microsoft de se réinventer : l'esprit d'Albuquerque n'est peut-être pas si loin.
  • Internet évidemment qui a englobé définitivement les Compuserve, The Source, AOL et autres Calvacom dans une toile mondiale et universelle. En 2008 déjà et en 2009, cette universalité et cette « neutralité » menace d'être mise en cause. L'esprit universitaire, hobbyiste et communautaire de ses modestes débuts fait encore un peu de résistance face au déploiement commercial tout en publicité en ligne, en moteur de recherche, en extranets d'entreprise et en services Web personnalisés, certes, mais contrôlables et parfois intrusifs. Qui plus que Google illustre cette tension ?
  • Le pilote d'ATT en 1979 est devenu un phénomène mondial et la téléphonie mobile s'est aujourd'hui banalisée. Elle reste, en 2009, un des principaux vecteurs d'innovation technologique et de nouveaux services.
  • Comme il y a trente ans, Apple, qui a perdu son « Computer », fait parler de lui auprès d'une génération qui ne la connaît principalement que par l'iPod et l'iPhone. Ces deux produits redéfinissent des pans entiers de l'industrie, comme l'a fait le Macintosh en son temps, tous deux projetés par le visionnaire génial, revenu à la tête de l'entreprise qu'il a créée et qu'il dirigeait déjà en 1979, Steve Jobs, dont la santé déclinante inquiète de plus en plus.
  • Peut-on dire qu'après trente ans, le logiciel d'entreprise pour PC (puisque celui-ci a envahi le monde du travail) en a terminé avec sa révolution industrielle ? L'industrie du logiciel ne suit elle pas désormais les grands cycles économiques industriels classiques ? Ne devient-elle pas, comme la qualifiait naguère le Gartner Group, une industrie de « commodités » ? 2009 : la fin de l'histoire de l'enterprise software ?

    Sûrement pas : l'Open Source devrait en 2009 marquer un progrès encore plus important que durant ces dernière années. Se posant explicitement comme alternative aux modèles de développement et de diffusion du logiciel de ces trente dernières années, l'Open Source et les logiciels libres prennent une part croissante des marchés de l'informatique d'entreprise et des administrations (surtout en Europe où le libre est aussi affirmé comme position politique).

  • Enfin la disparition des pionniers de 1979 nous rappelle, s'il était nécessaire, que la crise économique actuelle s'étendra en 2009 — si même ce n'est pas déjà commencé au dernier trimestre 2008 — à tout le secteur informatique. Les fondeurs taïwanais ne produisent plus à pleine capacité, les constructeurs et les équipementiers souffrent de trésoreries tendues, les SSII cessent de recruter, les investissements informatiques ralentissent : l'industrie n'est plus à l'abri des tempêtes économiques et financières.

Et comme pour accentuer cette impression de « retour vers le futur », c'est en 1979 que la FCC impose aux USA une nouvelle réglementation aux constructeurs naissants de PC pour contrôler le niveau d'émission de radiations des machines qu'ils produisent afin de « protéger l'environnement et les utilisateurs » : le Green IT, bien avant l'heure ! À vos bonnes résolutions pour 2009.

ShareThis