C'est a nouveau Java One (la grande conf anuelle de Sun a San Francisco pour ceux qui ignorent ce que c'est), et l'on donne quelques nouvelles infos sur les orientations du devellopement de Java 7.
http://tech.puredanger.com/2007/05/09/java7-roundup-14/
http://puredanger.com/techfiles/java7.pdf
http://puredanger.com/techfiles/Java7WhatsNext.ppt
Ce que je retiendrai surtout :
-Java Modularity/Java Kernel : j'en pense pas grand chose et je trouve l'idee ridicule (cf discussion sur la distribution du JDK par le passe). En quoi les gens trouvent difficile de telecharger 7~15Mo de nos jours quand on peut trouver des telechargement de demos de jeu ou de logiciels de DAO/bureautique qui depassent les 500Mo~1Go... De plus dans le pays ou Internet est moins develloper, mieux vaut tout telecharger en une seule fois sur un poste et distribuer l'integralite de la distrib sur CD sur les autres plutot que de devoir telecharger/streamer a chaque fois sur chacun des postes.
De mon points de vie, la notion de modularite est uniquement interressante pour la mise a jour du JRE, et encore a nouveau uniquement dans un envirronement connecte 100% du temps au Net (et via un debit rapide).
- Swing : l'application framework que j'attends depuis ... 1999~2000 se precise enfin. Le beans binding aussi ca permettra d'ecrire plus rapidement les actions d'un programme.
Aucune nouvelle de nouveaux composants helas...
-Reified generics : top si ca rapprochera plus le concept des generics de celui des templates. Si on peut en plus faire de la reflection dessus ca sera bien aussi mais alors il y aura probablement quelques problemes de compatibilite ascendente. L'exemple present dans la presentation PowerPoint n'est guere parlant.
- Short instance creation : si j'ai bien compris l'histoire on va dans la bonne direction. En effet, depuis que j'ai commence a faire des Generics j'ai toujours trouve assez ridicule de devoir faire ca :
Map<String, Integer> map = new HashMap<String, Integer>();
alors que ceci suffirai largement (oui on peut le faire en desactivant des warnings dans l'IDE, je sais) :
Map<String, Integer> map = new HashMap();
Cependant d'apres l'exemple on aura plutot ca :
map := new HashMap<String, Integer>();
Ce que je trouve TRES TRES etrange 
- le support des proprietes : mis a part la notation pointeur qui portera encore plus a confusion les utilisateurs de C++ migrant vers Java
, dans le principe c'est interressant mais pour le noment je n'ai vu nulle part si la generation automatique des getters/setters supporte :
1) la surchage manuelle de ces meme getters/setters (y compris quand il y a de la covariance) directement dans la classe ou dans les classes filles. Ben oui parfois il faut verifier les valeurs passees ou retournees.
2) la leve automatique d'un PropertyChangeEvent quand on modifie la propriete... c'est quand meme bien ca le coeur du probleme : notifier les observateurs que la propriete a change sans devoir a chaque fois manuellement reecrire les mecanismes permettant d'enregister/desenregistrer les listeners ainsi que le parcourt de la liste pour la notification de l'evenement...
- les petits plus :
Les string dans des switch
Utiliser directement les operateurs numeriques sur les BigDecimal
Les operateurs < et > sur les enums.
pour le reste c'est pas trop ma tasse de the donc je ne peux pas donner mon avis. Et surtout je n'ai toujours rien compris aux closure mis a part que ca me donne mal au crane.
Partager