INTERVIEW 
 
Emmanuel Puybaret
Développeur Java
eTeks
Emmanuel Puybaret (eTeks)
"Les simplifications apportées par les langages de script rendent les programmes moins robustes"
Formateur et auteur d'ouvrages sur Java, le développeur indépendant, reste confiant en l'avenir de son langage fétiche, non sans exposer certaines craintes face à sa nouvelle licence GPL.
15/01/2007
 
JDN Développeurs. Pensez-vous que l'apprentissage de Java se justifie encore, face à la recrudescence d'autres langages comme C# pour les applications desktop ou les langages de scripts pour les applications légères ou Web ?
  En savoir plus
Dossier Les plates-formes applicatives
  Le site
eTeks
Son dernier livre
Emmanuel Puybaret Java reste l'un des langages les mieux adaptés pour aborder la programmation Objet, et créer des logiciels maintenables. Sa bibliothèque standard et toutes celles crées par la communauté offrent de très nombreuses fonctionnalités que d'autres auront bien du mal à reproduire.

L'apparition d'autres langages et plates-formes de développement est saine pour la science informatique et même pour Java, car elle pousse les concepteurs de Java à l'améliorer et le simplifier, comme pour les évolutions de Java 5 apparues après C#.

Considérez-vous que Java subit aujourd'hui une perte de vitesse, due à son ancienneté ?
Java reste l'un des langages les mieux adaptés pour aborder la programmation Objet."
12 ans, ça n'est tout de même pas si vieux ! Je ne ressens pas au quotidien de baisse d'intérêt pour Java, et on voit même apparaître de nouvelles utilisations de ce langage dans des outils comme Google Web Toolkit ou Echo2 pour programmer en Java des sites Ajax portables.

Mais il est vrai que Java semble être peu utilisé pour créer des applications grand public, alors que c'est surtout dans ce domaine que sa portabilité prend tout son sens. Il suffirait peut-être que les parts de marché de Linux et Mac OS X augmentent sensiblement, pour que les développeurs y voient leur intérêt...

Groovy est aujourd'hui en version 1.0. Que pensez-vous de ce nouveau langage ?
Les langages de scripts sont intéressants pour leur facilité d'apprentissage et de mise en oeuvre. Mais les simplifications qu'ils apportent rendent les programmes conçus avec ces langages moins robustes.

Je préfère consacrer mon temps d'apprentissage sur les nouveautés des bibliothèques Java standards ou autres, pour améliorer ma pratique de cette plate-forme de développement ainsi que pour la partager à travers l'enseignement et l'écriture d'ouvrages. De ce fait, il me reste très peu de temps pour explorer d'autres langages et avoir un avis objectif sur ces derniers.

Java 6 est désormais sorti. Quels sont vos sentiments face à son passage en GPL ? Pensez-vous que la communauté qui se forme autour aura un impact positif ou négatif ?
Cela facilitera la corrections des bugs et la diffusion de Java, notamment sur Linux, lui-même basé sur la licence GPL.

Mais Sun aura plus de difficultés à contrôler l'apparition de versions dégradées de Java. Espérons que la licence GPL, qui oblige à publier toute version dérivée, ainsi que le fait que Java et son logo restent des marques déposées, soient des garde-fous assez efficaces pour que ne se reproduisent pas les mésaventures de Sun avec Microsoft.

Quelles sont les fonctionnalités de Java qui méritent de s'intéresser à cette version, selon vous ?
Sun aura des difficultés à contrôler l'apparition de versions dégradées de Java."
Il n'y a pas eu de modification dans la syntaxe du langage, mais de nombreuses fonctionnalités ont été ajoutées à la bibliothèque standard. Parmi celles-ci, les plus intéressantes sont : le tri et les filtres dans les tableaux Swing, la possibilité d'afficher immédiatement une image d'accueil au lancement d'un programme Java, la possibilité de créer une icône dans la barre des tâches avec son menu contextuel, l'accès aux applications standards du système (mail, navigateur ou autres), l'intégration des Web Services dans la bibliothèque standard, la possibilité d'utiliser des langages de scripts, l'accès au compilateur Java par une nouvelle API, et l'inclusion dans le JDK de Derby comme SGBD par défaut pour débuter avec JDBC.

Par ailleurs, Sun conseille d'utiliser de préférence cette version sous Windows Vista.

Votre dernier ouvrage tourne autour de Swing, mais aborde également la technologie SWT promue par le projet Eclipse. Voyez-vous les deux technologies comme concurrentes ou complémentaires ?
Ce livre montre comment a été conçue Sweet Home 3D, une application Open Source dotée d'une interface graphique développée en dix scénarios XP avec Java 5, Swing et Java 3D. Deux versions des huit premiers scénarios ont été développés l'une avec AWT/Swing, l'autre aussi avec SWT/JFace, dans le but d'aider concrètement le lecteur à se faire une opinion sur les différences entre ces deux technologies concurrentes. Personnellement, j'en ai conclu qu'à l'heure actuelle, la bibliothèque SWT/JFace est plus simple à mettre en œuvre, mais offre moins de possibilités que Swing pour personnaliser les composants d'une interface utilisateur.

Vers où voyez-vous Java évoluer à moyen terme ? Quelles sont les domaines qui méritent selon vous une nette amélioration ?
SWT/JFace est plus simple, mais offre moins de possibilités de personnalisation que Swing."
Passionné par la conception d'interfaces utilisateur et l'ergonomie logiciel, je m'intéresse surtout aux améliorations qui seront apportées à Swing et aux applications Web. Pour la prochaine version de Java, je vais surveiller de près l'aboutissement des JSR 295 (synchronisation des données éditées) et 296 (framework de création d'applications Swing), ainsi que sur le support d'HTML 4 dans le composant JEditorPane.

Par ailleurs, même si Java Web Start simplifie la diffusion d'applications Java, l'installation du JRE d'une version donnée sur un poste grand public reste à mon avis problématique. Sun devrait fournir un outil dans le JDK capable de créer un installateur de programme Java pour chaque système avec le JRE inclus. Après tout, quand vous voulez essayer un logiciel, ce qui compte pour vous utilisateur, c'est que vous puissiez l'installer facilement sur votre système, pas qu'il soit portable.

Vous avez lancé des projets Open Source. Participerez au développement Open Source de Java ?
  En savoir plus
Dossier Les plates-formes applicatives
  Le site
eTeks
Son dernier livre
Sur les projets Open Source que j’ai développés, ma plus grande satisfaction fut de découvrir les utilisations dérivées que font les utilisateurs de ces projets. L'Homme est dotée d'une imagination qui m'étonnera toujours. Tout l'art consiste alors à concevoir un produit assez modulaire pour qu'il puisse s'adapter à des besoins auxquels vous n'avez pas pensés au départ.

Ce serait un grand plaisir de participer au développement de Java. Mais je n'ai pas encore étudié dans quelles conditions un développeur individuel peut participer aux JSR, ou comment Sun compte organiser le travail des programmeurs qui désirent contribuer aux corrections et aux améliorations du JDK.

 
Propos recueillis par Xavier Borderie, JDN Développeurs

PARCOURS
 
 
Emmanuel Puybaret, 39 ans, est développeur senior et formateur Java indépendant.

2006 Cahier du programmeur Swing basé sur le projet Open Source Sweet Home 3D
2003 Cahier du programmeur Java
2000 Projets Open Source PJA Toolkit et Jeks
1999 Développeur Java indépendant sous l'enseigne eTeks
1993 Développeur C/C++ en SSII