mardi 25 mars 2008

Essentiel Java


Non, vous n'êtes pas seul à trouver des limites à l'approche : avec-1-framework-c-est-mieux.

Voyez plutôt cet article sur architectes.it : Une alternative à J2EE

L'idée de Pirmin Lemberger est de définir un label Essentiel Java, qui permet de qualifier le code source d’une application. Ce label donnera l'assurance du respect de principes de simplicité et de sobriété.

Voila quelques excellents arguments qu'il développe :
Envisageons donc la tâche consistant à assimiler un ensemble réaliste de technologies. Pour fixer les idées disons : J2EE + Spring + Hibernate + Struts. A l’évidence cette tâche n’est pas inhumaine mais elle nécessite, même pour une tête bien faite, plusieurs années de pratique quotidienne. On le constate, cette durée excède de loin la durée des dites technologies.

Et :
Loin de simplifier quoi que ce soit, la seule présence d’un framework induit alors un mode de transmission oral du savoir-faire d’un ou deux experts transformés de fait en petits gourous. Mode de transmission qui s’avère souvent redondant, confus et inefficace. Dans ces cas de figure, le travail du concepteur d’une application s’apparente d’avantage à celui d’un archéologue que celui d’un ingénieur.


Enfin :
... la comparaison objective de plusieurs frameworks relève carrément de l’impossible lorsqu’ils sont déjà complexes individuellement. Dans ces conditions un choix rationnel est difficile. Dans le meilleur des cas, des considérations commerciales objectives l’emportent. Plus souvent l’idéologie et le conformisme intellectuel naturel à l’esprit humain prennent le dessus.

Les problèmes évoqués, sont bien là.
Les décideurs ont besoin de répères et les frameworks (tout comme les techno, style XML.. ou les méthodes, style CMMI) les rassurent.
Les créateurs de frameworks ont aussi tout intérêt à diffuser largement leurs idées, pour des raisons commerciales, d'ego, de satisfaction intellectuelle.

Mais au final, quel est le gain réel pour l'utilisateur, en prenant en compte ce qu'il a gagné "en puissance de feu" en retirant le temps passé à apprendre ledit framework?

Concernant l'idée de Pirmin Lemberger, est-ce que l'utilisation d'un label permettra de définir qu'une application est simple et sobre? Je comprends l'idée de définir un sous-ensemble d'API qui seraient dans le périmètre "Essential Java", mais le problème est qu'il est soumis à interprétation. Pour certains (dont je ne fais pas partie), JSF est simple et standard. Pour d'autres, Log4J (dont je fais partie) est simple et non standard.

Où situer la limite?

Aucun commentaire: