Publié par

Il y a 9 années -

Temps de lecture 8 minutes

Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Actualité éditeurs / SSII

Du rififi au JCP

Doug Lea a annoncé qu’il claquait la porte du comité exécutif du JCP. Spécialiste de programmation concurrentielle, et à ce titre leader de la JSR-166, il est une figure importante du monde Java et sa défection est très symbolique. Il justifie son départ car selon lui le JCP n’est plus crédible dans sa capacité à fournir un standard et des spécifications réellement ouverts.

Ceci rejoint d’autres critiques sur le manque de transparence du JCP. Si l’annonce l’IBM de rejoindre OpenJDK est une bonne nouvelle pour ce projet, ceci laisse sur le carreau la fondation Apache et son projet Harmony, une autre version open source de Java. Or ce projet n’a jamais réussi à être labellisé Java Standard Edition. Pour cela il faut être passé par les TCKs (Test Compatibility Kits) Java qui valident les spécifications du JCP. Mais comme ces TCKs ne sont pas libres, Apache se plaint de ne pas pouvoir valider son projet. Et IBM ayant quitté le navire, il est encore moins sûr qu’un jour ce module devienne libre.

De plus, Dalvik, la JVM d’Android, est justement construite sur un sous ensemble d’Harmony. Avec les attaques en justice d’Oracle contre Google pour des histoires de brevet, voici donc une deuxième ligne de front qui s’ouvre entre les deux géants.

Le mois prochain auront lieu les élections pour choisir les nouveaux membres du comité exécutif du JCP. Cette élection sera vraiment la première depuis l’ère Oracle et compte-tenu des enjeux devrait être déterminante pour l’avenir de Java. A noter que Bob Lee (aka « Crazy » Bob Lee), le charismatique leader de Guice, s’est porté candidat à la succession de Doug Lea pour les indépendants.

Le JDK d’Apple: c’est fini

Alors que nous savions bien qu’il n’était pas question de développer sur l’iOS (IPhone, Ipod, Ipad) en Java, tout allait bien du coté desktop. Mais Apple a annoncé récemment, par le biais d’une note technique, que « les développeurs ne devraient pas compter sur la présence d’un runtime Java dans les futures versions de MacOS X ». Pour parler concrètement, que fait tout bon développeur lorsqu’il se rend compte qu’une fonction publique de son API n’est pas adaptée alors que certains l’utilisent ? Il la marque @deprecated en espérant s’en débarrasser au plus tôt (mais tout en sachant que ca ne sera pas si facile que ca: il va falloir convaincre tous les utilisateurs d’abandonner les appels à cette fonction). C’est ce qu’Apple vient de faire à notre langage préféré. Le runtime Java risque de ne plus être présent dans les futures version de MacOS (10.7). Rude coup ? Pas complètement… En effet, SoyLatte, le port d’OpenJDK sur Mac semble fonctionnel. Le plus gros problème risque de venir de l’intégration des applications de type client lourd, basées sur Swing/AWT, et pour lesquelles Apple avait optimisé l’intégration à OSX. Et c’est pour cette raison qu’une pétition réclame à Apple de reverser son code actuellement propriétaire à l’OpenJDK. Mais il se murmure qu’Apple aurait utilisé nombre d’appels de méthodes non documentées de l’API Mac OS pour intégrer de façon la plus transparente possible les applications Java dans son OS. Rien n’est donc moins sûr que l’issue de cette pétition. Il risque d’être difficile aux développeurs de l’OpenJDK de pousser l’intégration aussi loin. James Gosling en profite pour rappeler que cette intégration poussée à l’extrême était justement nécessaire car que les applications d’Apple elle-mêmes étaient en Java ! Comme quoi…
Aller, oublions un peu ces problèmes politiques un instant et retournons coder des applications web: elles, au moins, ne nécessitent pas de composants graphiques natifs (bien que l’IDE…) ;)

Software Craftsmanship North America 2010

Il y a une semaine maintenant, se tenait, à Chicago, le grand rassemblement du Software Craftsmanship, mouvement en pleine expansion depuis 2 ans. Pour rappel, ce mouvement issu de l’agilité a pour motivation de revenir aux sources de l’eXtreme Programing. Alors que les attentions dans les cercles agiles se portent de plus en plus sur les aspects organisationnels, ce mouvement cherche à se re-concentrer sur la maitrise de son art par le développeur, sur comment coder, et surtout comment le faire bien pour obtenir un logiciel de qualité.

Je vous propose un petit tour des festivités avec un résumé libre de divers blogs ayant couvert l’évènement.

Au programme, les incontournables Robert C. Martin et Mickael Feathers co-auteurs de « Clean Code: A Handbook of Agile Software Craftsmanship » livre référence du mouvement.

  • Uncle Bob ouvre les hostilités avec un keynote sur l’échec des états et l’avènement de la programmation fonctionnelle. Il fait le constat que la troisième cause de défaillance, après les GOTOs et les pointeurs sont les états. Maintenir ces états avec les processeurs multi-coeurs et les environnements distribués est de plus en plus difficile. La programmation fonctionnelle apporte, dans ce contexte, une approche moins problématique à l’utilisation de cette puissance supplémentaire.

Il va plus loin en constatant que tous les programmes présentent un couplage temporel: un traitement doit être appelé avant un autre. Le temps a une importance. En programmation fonctionnelle, le paramètre temporel s’efface, peu importe quand la fonction est appelée ou combien de fois elle l’est : f( x ) ne dépend que de la valeur de x.
Il mentionne finalement l’idée que tout pourrait être pensé comme fonction du temps (incluant les transactions des bases de données), rendant potentiellement les bases de données relationnelles obsolètes puisque les données seraient stockées avec leur valeur initiale et une suite d’évènements de modification à travers le temps. On imagine ici très bien une base NoSql orientée colonnes servant à enregistrer ces successions d’évènements. Cela préviendrait, selon lui, les effets indésirables des changements d’états puisque l’on n’en modifie pas. On se contente d’ajouter de nouveaux évènements. Pour retrouver l’état à un instant t, il suffit d’appliquer les évènements de changement d’état jusqu’à la date voulue. Pour se faire une idée de ce concept , il propose l’exemple du système de gestion de source Git.

  • Doug Bradbury nous rappelle en substance ce pour quoi nous sommes fait: construire et créer. Et que nous aimons ça. Dans la même idée, Mickael Norton, revient sur l’histoire de la médecine et son apprentissage au fil des âges. Il montre les différentes transitions auxquelles à fait face la médecine: les phases d’observations empiriques, la création d’une base initiale de connaissances, au développement théorique et technologique rapide et au modèle intensément supervisé et l’apprentissage coopératif d’aujourd’hui. Il conclut en disant que tout au long de cette histoire et de ces transitions, la médecine a été, et reste aujourd’hui, mise au point par des gens qui aiment ce qu’ils font.
  • 4 apprentis des deux sociétés phares du craftsmanship aux US, 8th Light et Obtiva, font ensuite un retour d’expérience sur leur apprentissage. Hormis les conseils classiques comme « pose le plus de questions possibles », « écoute les réponses », « n’ai pas peur des erreurs », viennent des retours plus concrets sur l’apprentissage par la pratique découlant du craftsmanship:
    • « apprendre une théorie ne suffit pas, applique-la »,
    • « programme avec le plus de binômes possibles »,
    • « fait un travail personnel après avoir obtenu des réponses ».
  • Il y a eu également, du code, du code, des portables ouverts, du code, avec un coding dojo de stars façon Randori dans lequel Bob Martin, Ken Auers, Corey Haines et Chad Fowler se sont succédés. Adewale Oshineye aurait du faire des tests!!! Il aurait évité une attaque en règle de Bob Martin…
  • Enrique Comba Riepenhausen présente, lui, l’importance du partenariat avec les clients et pourquoi il faut le favoriser. Reprenant les moyens et conseils de Ken Auer et Chad Fowler, il nous rappelle que « nous faisons les choses pour les autres ».
  • Bob Martin rejoint finalement Michael Feathers pour une présentation sur la programmation fonctionnelle et comment passer de l’objet au fonctionnel sur quelques cas concrets. Il est intéressant de noter l’insistance des membres d’Object-Mentor sur la programmation fonctionnelle, signe d’une montée en puissance et d’une reconnaissance avec notamment Clojure et Scala.
  • Corey Haines donne le mot de la fin avec un résumé de la pensée et l’ambiance générale: « Nous aimons ce que nous faisons. Nous sommes heureux de faire ce que nous faisons. Donc nous avons besoin de faire ce qui nous rend heureux. »

Vous trouverez les informations sur le programme et les speakers sur le site officiel de la conférence et sur les blogs couvrant l’évènement dont je me suis inspiré, Code Painter et The Clean Coder.

Publié par

Publié par Xebia France

Xebia est un cabinet de conseil international spécialisé dans les technologies Big Data, Web, les architectures Java et la mobilité dans des environnements agiles. Depuis plus de 15 ans, nous avons la volonté de partager notre expertise et nos actualités à travers notre blog technique.

Commentaire

1 réponses pour " Revue de Presse Xebia "

  1. Publié par , Il y a 9 années

    Doug annonce tout de même qu’il va participer à OpenJDK et puis sa vision est très orientée Java SE.

Laisser un commentaire

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

Nous recrutons

Être un Xebian, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.