Next Generation Java Programming Style
Par dgirard le jeudi, août 13 2009, 15:33 - Lien permanent
Stephan Schmidt :
Many companies and developers move away from Java to new languages: Ruby, Python, Groovy, Erlang, Scala. You might be trapped with Java. Even if you’ve trapped, you can change your programming style and reap some of the benefits of those new languages.
Il y a de bonnes idées dans ce que propose Stephan.
Commentaires
C'est plus que des bonnes idées, ça devrait devenir de bonnes pratiques, voir des patterns !
1- Sur ce point je n'ai rien contre, mais je trouve ca particulièrement lourd (pour l'avoir pratiqué) et peu lisible arrivé à un certain point (pour avoir pratiqué des revues de code)
2- "Tell don't ask" : si on me suggère de coder l'écriture de la ligne de mon tableau HTML dans mon objet, je ne suis franchement pas d'accord.
Faire sans setters : OK (mais ca peut dépendre du type d'objet)
Faire sans getters : s'il s'agit d'éviter de découpler traitement et données alors d'accord par contre j'en ai encore besoin pour présenter mes données dans une JSP (l'AOP doit pouvoir aider dans ce cas en interdisant l'invocation depuis certains packages)
3- OK, c'est ce que je fais généralement en encapsulant mes collections dans des objets spécifiques fournissant ce genre de fonctionnalités
4- Pourquoi pas, mais ce n'est pas forcement pratique pour debugger
5- D'accord pour l'utilisation des interfaces, beaucoup moins pour en coller à toutes les sauces, il faut trouver le juste milieu
6- La librairie de Doug Lea et son integration dans Java (java.util.concurrent) me suffisent largement, mais j'avoue ne pas connaitre Erlang
7- OK. J'ai eu l'occasion de suivre ce principe pour produire des formulaires relativement complexes avec GWT. Un autre exemple : Hibernate
8- Plutot pas d'accord, surtout quand Eclipse peut me générer tout ca.
A voir aussi la réponse de Cédric Beust: http://beust.com/weblog/archives/00...
Next Generation Java is not very different from today's Java