Je vais mettre les pieds dans le plat, mais je trouve ces nouveautés complètement ridicules quand on voit ce qui se fait dans des langages comme Scala qui ne sont pas plus difficiles à utiliser que Java (parce que tournant sur la JVM et parce que facile à s'y mettre quand on vient de Java).
Si on reprend ces nouveautés :
1) Possibilité d'utiliser des String dans les switch :
Le pattern matching est mille fois plus puissant, en particulier en Scala avec la notion d'extracteurs qui permet de définir comment matcher.
Voir http://www.scala-lang.org/node/120
2) gestion automatique des ressources :
Ça peut se programmer sous forme de bibliothèque à partir du moment où on a des fonctions anonymes (ou des closures, pas sûr de saisir la différence...) et des fonctions d'ordre supérieur.
Voir http://stackoverflow.com/questions/2207425/what-automatic-re(...)
3) Amélioration des instanciations génériques :
Alors là, l'inférence de type fait ça depuis longtemps (qui a étudié caml à la fac ?)
Voir http://www.scala-lang.org/node/127
4) Simplification des varargs :
Ça j'ai pas bien compris le truc, c'est peut-être effectivement intéressant...
En fait, pour dire un truc horrible, Scala c'est un peu tout ce qui nous plaisait dans Caml mais sur la JVM et mixé avec de l'objet à la Java (oui parce qu'il existe aussi les objets à prototypes qui n'ont rien à voir avec Java).
En fait c'est beaucoup plus fort que ça, mais je ne rentrerais pas dans les détails de Scala et de la fusion objet/fonctionnel, des systèmes de typages avancées, des continuations, des DSL, des acteurs, des..., ... etc . ... ..
Voilà pour la pub, l'objectif ici était de montrer que ces améliorations sont sympa mais c'est pas ça qui rendra vraiment Java meilleur, c'est des détails qui ne changeront pas grand chose je trouve...
(À noter qu'il existe pleins d'autres langages intéressants qui auraient pu servir à faire ce commentaire, mais moi c'est Scala que j'aime :)
# Ridicule ?
Posté par Victor . En réponse au journal Le point sur Java 7. Évalué à 4.
Je vais mettre les pieds dans le plat, mais je trouve ces nouveautés complètement ridicules quand on voit ce qui se fait dans des langages comme Scala qui ne sont pas plus difficiles à utiliser que Java (parce que tournant sur la JVM et parce que facile à s'y mettre quand on vient de Java).
Si on reprend ces nouveautés :
1) Possibilité d'utiliser des String dans les switch :
Le pattern matching est mille fois plus puissant, en particulier en Scala avec la notion d'extracteurs qui permet de définir comment matcher.
Voir http://www.scala-lang.org/node/120
2) gestion automatique des ressources :
Ça peut se programmer sous forme de bibliothèque à partir du moment où on a des fonctions anonymes (ou des closures, pas sûr de saisir la différence...) et des fonctions d'ordre supérieur.
Voir http://stackoverflow.com/questions/2207425/what-automatic-re(...)
3) Amélioration des instanciations génériques :
Alors là, l'inférence de type fait ça depuis longtemps (qui a étudié caml à la fac ?)
Voir http://www.scala-lang.org/node/127
4) Simplification des varargs :
Ça j'ai pas bien compris le truc, c'est peut-être effectivement intéressant...
5) Support de langages de script :
J'avais cru comprendre que la JSR-292 était pour les langages à typage dynamique (voir http://jcp.org/en/jsr/detail?id=292 ).
À noter que Scala peut être utilisé comme langage de script sans pour autant qu'il soit à typage dynamique. Voir http://www.artima.com/scalazine/articles/steps.html par exemple.
En fait, pour dire un truc horrible, Scala c'est un peu tout ce qui nous plaisait dans Caml mais sur la JVM et mixé avec de l'objet à la Java (oui parce qu'il existe aussi les objets à prototypes qui n'ont rien à voir avec Java).
En fait c'est beaucoup plus fort que ça, mais je ne rentrerais pas dans les détails de Scala et de la fusion objet/fonctionnel, des systèmes de typages avancées, des continuations, des DSL, des acteurs, des..., ... etc . ... ..
Voilà pour la pub, l'objectif ici était de montrer que ces améliorations sont sympa mais c'est pas ça qui rendra vraiment Java meilleur, c'est des détails qui ne changeront pas grand chose je trouve...
(À noter qu'il existe pleins d'autres langages intéressants qui auraient pu servir à faire ce commentaire, mais moi c'est Scala que j'aime :)