novembre
2011
Comme pour le JDK7, les premiers builds en « Developer Preview » du JDK8 sont disponible depuis quelques temps à l’adresse habituelle : http://jdk8.java.net/download.html Mais pour l’instant, ces builds s’avèrent peu intéressant pour le commun des développeurs, du fait qu’ils se contentent principalement d’intégrer des correctifs sans « grosses » nouvelles fonctions ou APIs. Mais le projet Lambda a publié une autre « Developer Preview » plus intéressante : elle ne prend pas le dernier build du JDK8 mais elle y […]
novembre
2011
Le groupe de travail du projet Lambda a pris une décision concernant la syntaxe des lambdas de Java SE 8 : Syntax decision (en anglais dans le texte). C’est donc la syntaxe de C# qui sera reprise (dans les grandes lignes – des détails pourraient encore être modifiés). Cette syntaxe se décompose en deux parties, séparées par une flèche => La partie gauche comporte la signature de la méthode, avec le nom des différents paramètres […]
août
2011
Petit à petit le projet Lambda suit son cours, et le brouillon des spécifications comment à bien s’étoffer. En fin de semaine dernière, Alex Buckley a publié une nouvelle version de ce brouillon dans la mailling-list, que l’on peut retrouver ici : Project Lambda: Java Language Specification draft version 0.1.5. S’en est suivi plusieurs discussions, dont un débat sur la syntaxe d’appel d’une expression lambda.
décembre
2009
Mark Reinhold a publié au nom de Sun la première publication d’une proposition sur les expressions lambda. Mais elle se révèle pour le moment relativement succincte et s’apparente plus à une présentation sommaire des possibilités que cela offrirait qu’à une réelle proposition détaillée et précise comme cela pouvait être le cas des précédentes propositions (CICE, FCM ou BGGA). Mais le gros problème vient du fait qu’elle ne semble pas faire l’unanimité ! En fait cette […]
décembre
2009
Lorsque j’ai commencé à écrire la série de billet « Où va Java ? » conçernant Java 7, j’avais en tête de faire un billet récapitulant les différentes propositions de Closures et leurs spécificités. Malheureusement le temps m’a manqué et je n’ai jamais pu finir ce billet… Pour rappel, une closures représente un « bloc de code », qui peut être manipuler comme un objet. A l’heure actuelle l’utilisation de classe anonyme est ce qui s’en rapproche le plus […]
décembre
2009
Les Closures style BGGA sont extrêmement complète, mais apporte également leurs lots de complexité. De ce point de vue là, la proposition CICE prend le problème à contre pied et propose une implémentation la plus simple possible. D’ailleurs la documentation donne le ton dès le début, en titrant « Closures without Complexity« …
décembre
2009
Après BGGA et CICE, voici une présentation de la proposition de closures FCM qui se place exactement entre les deux précédentes : à la fois plus simple que BGGA mais également plus complète que CICE. FCM se présente comme un compromis entre les deux, en proposant une approche plus simple sans pour autant trop perdre de possibilités. De plus, tout comme « BGGA« , la proposition « FCM » propose également un prototype sur lequel je me suis basé […]
décembre
2009
Originellement prévu pour février, Java 7 est reporté à septembre 2010. Bien que cela ne soit pas la cause du report (le JDK 7 milestone 5 qui aurait dû être une version « feature-complete »), il semblerait que les Closures fassent leur grand retour. Après de multiples débat et plusieurs propositions,et après avoir été abandonnés et reporté à plus tard, elles sont bel et bien de nouveaux d’actualités pour Java 7 ! Peu d’info pour le moment […]
décembre
2009
Tel est la question que l’on peut se poser après l’annonce surprise de l’intégration des closures dans Java 7. // function expressions #(int i, String s) { System.println.out(s); return i + str.length(); } // function expressions #(int i, String s) (i + str.length()) // function types #int(int, String) Stephen Colebourne a fait un résumé des fonctionnalités des différentes propositions de closures, […]
décembre
2009
C’est fait, le projet Lambda est né de la volonté d’intégrer un système de closures, que l’on nommera désormais « expressions lambda ». On y retrouve donc une liste de diffusion mais surtout un prémice de la proposition : Project Lambda : Straw-Man Proposal. On y retrouve bien sûr le détail des fonctionnalités de base dont j’ai déjà parlé plusieurs fois sur ce blog : les expressions Lambda, les types Fonction et les règles de conversion vers […]
Tutoriels
Discussions
- Difference de performances Unix/Windows d'un programme?
- jre 1.5, tomcat 6.0 et multi processeurs
- Définition exacte de @Override
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- Classes, méthodes private
- [ fuite ] memoire
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- Recuperation du nom des parametres
- Possibilité d'accéder au type générique en runtime