samedi 3 juillet 2010

Java 7, projet Lambda (ex Closures) et public defenders methods

Et maintenant un billet plus technique.
Surement de ma part le premier d'une série sur Java 7 d'ici sa sortie prévue d'ici quelques mois.

Un des domaines où Java a pris beaucoup de retard sur .Net est notamment la gestion des "closures" et du lambda calcul. Il s'agit de fournir à Java certaines force des langages fonctionnels type Caml.

Concrètement, j'attends impatiemment l'arrivée de ces fonctionnalités, prévues dans Java 7 pour gagner du temps dans l'écriture de certains patterns :
- écritures de listeners sans passer par des "inner class" exagérément verbeuses
- disposer d'équivalents de pointeurs sur fonctions et n'être donc plus obligé de créer des interfaces pour ces besoins là
- extensions fonctionnelles des interfaces via les "public defenders methods"
- utilisation des futures bibliothèques de traitement parallèle de Java 7

Il est sûr qu'avec ces nouveautés, le langage sera plus complexe à comprendre dans son intégralité. Mais il est beaucoup plus important à mon sens pour la survie d'un langage qu'il fasse gagner du temps aux développeurs expérimentés plutôt que d'être sûr que des étudiants puissent en faire le tour en un an de pratique à temps partiel.

D'ailleurs, ce tournant a déjà été pris depuis Java 5. Combien de développeurs Java savent réellement utiliser les wildcard ?

En plus, cerise sur le gâteau, il semblerait que l'aspect performance ne soit pas oublié par les développeurs en charge du projet chez Oracle : cf ce document.

Quelques liens pour finir :
- Le site du projet Lambda
- Une documentation sur les "public defender methods"

Retour au post et vidéo geek

Retour des posts après une très longue absence.

Afin de mettre plus souvent à jour ce blog, je vais essayer de l'alimenter de plus de brèves courtes que de longues descriptions.

Alors, pour commencer, une vidéo très "geek" qui m'a beaucoup amusé :



Je ne sais pas si cette vidéo est issue du département Marketing d'Oracle, mais si c'est le cas, c'est très bon signe pour l'avenir de Java.
En effet, maintenant que le langage semble se remettre à bouger, si les moyens sont enfin mis sur la communication de ses qualités, il devrait cesser de reculer face à .Net