|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Fabrice BouyéDéveloppeur Java Inscription : août 2005 Messages : 4 106 ![]() |
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 : Code :
Map<String, Integer> map = new HashMap<String, Integer>(); Code :
Map<String, Integer> map = new HashMap(); Code :
map := new HashMap<String, Integer>(); ![]() - 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.
__________________
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes. suivez mon blog sur Développez.Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook |
|
00
|
|
|
#2 | |||
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 809 ![]() |
Citation:
Code :
Et les paramètres génériques à gauche et à droite ne sont pas forcément les mêmes. Code :
List<? extends Number> list = new ArrayList<Integer>(); Sinon un mot clé property pourrait être une bonne idée (j'y pensais justement quand on avait un projet EJB3). Les closures ça peut être bien, mais ça perturbe au début lorsqu'on lit un code (selon les syntaxes proposées) de démo d'une closure... |
|||
|
|
00
|
|
|
#3 | |||||
![]() ![]() Fabrice BouyéDéveloppeur Java Inscription : août 2005 Messages : 4 106 ![]() |
Citation:
Citation:
Mais bon, pas la peine de grands debats, ce n'est guere la direction (ou la syntaxe) qu'ils ont pris. Citation:
__________________
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes. suivez mon blog sur Développez.Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook |
|||||
|
00
|
|
|
#4 | ||||||||||||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Salut,
Citation:
Citation:
Citation:
Je n'ai pas lu la présentation que tu donnes en lien (les fichiers PPT sont bloqué par le firewall ), mais il me semble qu'il y a eu un grand nombre de proposition pour cela (dont la tienne Citation:
Un exemple tout simple avec invokeLater(). Ceci : Code :
Code :
Et cela permettra de se débarrasser de certaine construction un peu trop "lourde", comme par exemple l'utilisation des locks : Code :
Code :
Perso je suis à fond pour, même s'il est vrai que cela peut devenir assez complexe lorsqu'on rentre dans les détails... a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||||||||||||
|
00
|
|
|
#5 | |||||||
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Je préfèrerais plutôt une nouveau type d'objet dans lequel qu'on pourrait initialiser directement avec du code : Code :
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|||||||
|
00
|
|
|
#6 | |||||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
Citation:
Citation:
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|||||
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Mais je n'aime pas vraiment l'idée de mettre directement les {} et insérer du code dedans... Je préférerais les voir représenté par un objet ou un type primitif....
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 1 618 ![]() |
Il faut vraiment que je me penche sur les closures (la session de Neal Gafter à JavaOne ne m'a pas convaincu...)
A priori on perd l'obligation des attributs en final, il y aurait quelques apports par rapport aux possibilités de return et gestion d'exception, mais je n'ai pas tout compris... Si après l'argument est de taper moins de code, je ne suis pas d'accord. Les éditeurs, entre la complétion et les templates de code, font beaucoup pour nous. Les nouvelles syntaxes ont un aspect "cryptographie" qui ne facilite pas la lecture du code. |
|
|
00
|
|
|
#9 | ||
![]() ![]() Fabrice BouyéDéveloppeur Java Inscription : août 2005 Messages : 4 106 ![]() |
Moi plus je regarde les deux exemples du short instance creation donnes dans la presentation, plus je me dis que ca va etre imbitable pour ceux qui ne passent pas par des IDE pour programmer :
Code :
Passe encore si cette syntaxe n'etait utilisee que pour les operateurs new et foreach mais, l'appel a : suggere qu'on aurai plus besoin d'indiquer le type des valeurs retournees par une methode. C'est vrai que d'un cote ca fait (un peu mais pas beaucoup) moins de code a taper, mais deja qu'on a des gens pas f$%#$ de lire la documentation des methodes et classes qu'ils utilisent... ca promet en nouvelles questions absurdes en tout genre... et en prises de tetes (des deux parties) pour arriver a comprendre les codes fournis ou ceux qu'on donnera en solution...
__________________
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes. suivez mon blog sur Développez.Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook |
||
|
00
|
|
|
#10 | |
![]() ![]() Inscription : août 2004 Messages : 8 661 ![]() |
Citation:
Enfin coté javaOne ce qui m'intéresse le plus au final pour le moment, c'est la promesse d'un temps de hargement de la JVM éventuellement réduit en passant par la Consumer JRE. Bon ensuite j'ai pas eu le temps de tout suivre, mais l'appli semi web créée par l'équipe de Swingx avait l'air sympa (bon ensuite à utiliser les applets c'est toujours aussi lourd, vivement que çà change). Enfin ce que j'attends avant tout ce sont les slides et vidéos des différentes sessions, c'est là qu'il y a le plus à apprendre, découvrir et ainsi de suite... De ce point de vue là javaOne est une des principales mines d'infos, et à mon sens c'en est le plus intéressant (plutôt que les déclaration clinquantes à la javaFX, les closures et ainsi de suite). Donc les slides, les slides, les slides
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something. |
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Autant je ne suis pas d'accord avec vous sur les closures (c'est un "must-have" à mon avis
En fait je me contenterais largement de la proposition de bouye (supprimer les Generics lorsqu'ils sont identique) : Code :
Map<String, Integer> map = new HashMap();
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
00
|
|
|
#12 | ||
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 242 ![]() |
mon passé sur des technologies concurrentes me pousse à proposer une instantiation-déclaration tout en un:
Code :
Quand à l'appel de freq := map.get(word); je ne le trouve pas nécessaire non plus, étant donnée que les IDE sont capable des déclarer la variable du bon type tout seul. |
||
|
|
00
|
|
|
#13 | |||
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 1 618 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#14 | |
![]() ![]() Inscription : août 2004 Messages : 8 661 ![]() |
Citation:
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something. |
|
|
|
00
|
|
|
#15 | ||||
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Je signale qu'au niveau des génériques, le problème d'avoir à répéter 50 fois le paramètre n'est qu'un problème d'API ; on peut parfaitement l'éviter (je veux dire le résoudre), du moins dans les classes génériques que l'on crée soit même ; le HashMap est donc mal fait, c'est tout.
Ainsi, pour une classe générique Gener<T> donnée, on peut parfaitement écrire : Code :
Et voici la méthode nouvelle dans la classe Gener<T> : Code :
Bon, certes, on peut chipoter de ce que je re-écris trois fois le terme <P>... |
||||
|
|
00
|
|
|
#16 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|
|
00
|
|
|
#17 |
|
Membre chevronné
![]() Inscription : septembre 2004 Messages : 807 ![]() |
En attendant : http://www.mediafire.com/?bn4mbzksdgt
__________________
Ignorer c'est aussi croire que l'on sait. Merci d'essayer d'écrire correctement. Pas de questions techniques par MP SVP. |
|
|
00
|
|
|
#18 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
Au passage l'auteur maintient une page recensant les propositions de Java 7 : http://tech.puredanger.com/java7 a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
|
00
|
|
|
#19 |
|
Membre chevronné
![]() Inscription : septembre 2004 Messages : 807 ![]() |
Effectivement
Pas très réveillé moi ce matin...
__________________
Ignorer c'est aussi croire que l'on sait. Merci d'essayer d'écrire correctement. Pas de questions techniques par MP SVP. |
|
|
00
|
|
|
#20 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Très intéressant aussi ton site Adiguba
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com