Précédent   Forum du club des développeurs et IT Pro > Java > Communauté Java > Débats

Débats Les débats et sondages sur le langage et les technologies Java

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Etes vous pour ou contre cette proposition ?
Pour 280 76,09%
Contre 88 23,91%
Votants: 368. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse Actualité déjà publiée
 
Outils de la discussion
Vieux 19/12/2007, 18h32   #21
bobuse
Membre confirmé
 
Avatar de bobuse
 
Inscription : janvier 2005
Messages : 229
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 229
Points : 217
Points : 217
J'ai pas tout suivi, mais de toutes façons les Vector c'est mal
bobuse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 18h58   #22
elitost
Rédacteur
 
Avatar de elitost
 
Homme Eric REBOISSON
Consultant informatique
Inscription : septembre 2003
Messages : 2 032
Détails du profil
Informations personnelles :
Nom : Homme Eric REBOISSON
Âge : 35
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2003
Messages : 2 032
Points : 7 357
Points : 7 357
Envoyer un message via ICQ à elitost Envoyer un message via AIM à elitost Envoyer un message via MSN à elitost Envoyer un message via Yahoo à elitost Envoyer un message via Skype™ à elitost
Egalement pour, et pour les mêmes raisons citées précedemment, redondance d'information, mais pour garder les 2 notations
elitost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 22h57   #23
bouye
Modérateur
 
Avatar de bouye
 
Homme Fabrice Bouyé
Développeur Java
Inscription : août 2005
Messages : 4 078
Détails du profil
Informations personnelles :
Nom : Homme Fabrice Bouyé
Âge : 36
Localisation : Nouvelle-Calédonie

Informations professionnelles :
Activité : Développeur Java
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : août 2005
Messages : 4 078
Points : 8 549
Points : 8 549
Oui MAIS quel est l'interet de mettre <> dans l'appel au contructeur.

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap<>();
Ceci serait mieux :

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();
Pour le reste, l'information type est deja convoye dans la partie gauche de l'affectation.
__________________
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
bouye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 23h38   #24
nicorama
Membre Expert
 
Avatar de nicorama
 
Inscription : juillet 2006
Messages : 765
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juillet 2006
Messages : 765
Points : 1 054
Points : 1 054
Citation:
Envoyé par bobuse Voir le message
J'ai pas tout suivi, mais de toutes façons les Vector c'est mal
Ouais je sais que c'est mal, mais tant que j'ai pas compris à 100% les tenants et aboutissant des synchronized quand il y a des threads de partout (et ya du boulot), je met tout en Vector. Je changerais le jour où j'aurais tout compris.
En terme de performance, ca change quedalle pour mon projet, comparé aux temps des accès clients/serveur.
__________________
Robusta Web Library : Clients RESTful open source pour Java, Android & GWT.
API Simple et Productive. Avec style.
nicorama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 05h08   #25
jibbi
Membre confirmé
 
Avatar de jibbi
 
Inscription : avril 2007
Messages : 165
Détails du profil
Informations personnelles :
Âge : 36
Localisation : Canada

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 206
Points : 206
Citation:
Envoyé par bulbo Voir le message
Même si pour la compatibilité, l'autre écriture est bien nécessaire, je n'arrive pas a voir un cas ou cela aurait un intérêt.

Tu arriverais a nous filer un exemple ?
Un des avantages avec les generic c'est qu'on peut connaître le type que contient une Collection au premier coup d'oeil.

la nouvelle forme présenté permet cela à la déclaration de la Collection:
Code :
1
2
3
 
List<String> list = new ArrayList<>(5); 
// pas de problème c'est une list de String
Et si l'initialisation de la list se fait au milieu du code:
Code :
1
2
3
4
5
6
7
8
 
List<String> list; // déclaration
 
[...]
 
list = new ArrayList<>(5); 
// ici, faut aller voir la déclaration ou étudier 
//le code pour connaître le type de la liste.
Donc pour une initialisation au moment de la déclaration, je suis pour la nouvelle syntaxe. Dans le cas contraire, utiliser la forme actuelle.

Pourrait-on se fier aux "bonnes pratiques" du programmeur pour respecter cela ? j'en doute, j'apprécierais un warning.

D'accord je suis peut-être un peu pointilleux, mais je ne pense qu'à vous les correcteurs de Developpez.com
jibbi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 07h53   #26
benwit
Rédacteur
 
Avatar de benwit
 
Inscription : septembre 2004
Messages : 1 628
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 1 628
Points : 3 094
Points : 3 094
Je vote pour également.


Citation:
Envoyé par adiGuba Voir le message
Oui pour moi : cela permet d'éviter une répétition inutile...

Bien sûr quoi qu'il arrive la première syntaxe sera toujours valide (rien que pour assurer la compatibilité ascendante).

a++
benwit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 09h00   #27
natha
Expert Confirmé
 
Avatar de natha
 
Inscription : janvier 2006
Messages : 2 344
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : janvier 2006
Messages : 2 344
Points : 2 861
Points : 2 861
Voté "pour" pour toutes les raisons évoquées.

Citation:
Envoyé par bouye Voir le message
Oui MAIS quel est l'interet de mettre <> dans l'appel au contructeur.
Je me pose la même question. Aucun intérêt de toute façon.
__________________
Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
De la bonne manière de poser une question (et de répondre).
Je ne fais pas de service par MP. Merci (...de lire les règles...).
Ma page dvp.com
natha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 09h04   #28
romaintaz
Rédacteur/Modérateur
 
Avatar de romaintaz
 
Homme Romain Linsolas
Java craftsman
Inscription : juillet 2005
Messages : 3 579
Détails du profil
Informations personnelles :
Nom : Homme Romain Linsolas
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Java craftsman
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 3 579
Points : 6 722
Points : 6 722
Citation:
Envoyé par bouye Voir le message
Oui MAIS quel est l'interet de mettre <> dans l'appel au contructeur.

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap<>();
Ceci serait mieux :

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();

En effet, c'est clair que je ne vois pas l'intérêt d'ajouter le <> ...
__________________
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
romaintaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h05   #29
g_rare
Membre chevronné
 
Avatar de g_rare
 
Inscription : novembre 2005
Messages : 610
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 610
Points : 649
Points : 649
POUR, même si le "<>" me paraît inutile également
__________________
" Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...
g_rare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h23   #30
Alec6
Membre confirmé
 
Inscription : juillet 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 623
Points : 297
Points : 297
Je peut etre pas tout compris cependant.

Il y aurait pas une différence de typage et d'héritage entre l'objet construit et la variable porteuse, dans l'idée du polymorphisme.

Map<String,Vehicule> map;

map=new Map<String,Camion>();

map=new Map<String,Voiture>();

Camion, et Voiture extends Vehicule;

et j'ai une méthode do(Map<String,Vehicule>);

Si j'écris rien, j'ai implicitement, Map<Object,Object> map=new Map<Object,Object>();

Voilà voilà.
Alec6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h24   #31
nicorama
Membre Expert
 
Avatar de nicorama
 
Inscription : juillet 2006
Messages : 765
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juillet 2006
Messages : 765
Points : 1 054
Points : 1 054
Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();
Ce code marche très bien aujourd'hui, en tout cas sur mon PC.... Que faut t-il changer ?
__________________
Robusta Web Library : Clients RESTful open source pour Java, Android & GWT.
API Simple et Productive. Avec style.
nicorama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h39   #32
ludosoft
Membre habitué
 
Avatar de ludosoft
 
Homme Ludovic Martin
Chef de projet technique
Inscription : juillet 2002
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Martin
Âge : 32
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Chef de projet technique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juillet 2002
Messages : 95
Points : 116
Points : 116
Envoyer un message via MSN à ludosoft Envoyer un message via Skype™ à ludosoft
Citation:
Envoyé par bouye Voir le message
Oui MAIS quel est l'interet de mettre <> dans l'appel au contructeur.

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap<>();
Ceci serait mieux :

Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();
Pour le reste, l'information type est deja convoye dans la partie gauche de l'affectation.
Je pense qu'il ne faut pas trop en enlever non plus hein... Le fait de mettre "<>" indique clairement à l'oeil que ce n'est pas une "simple HashMap" qui est instanciée.

Et ça ferait quoi ce code là ?
Code :
1
2
Map 
  anagrams = (Map<String, List<String>>)new HashMap<>();
ludosoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h42   #33
Alec6
Membre confirmé
 
Inscription : juillet 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 623
Points : 297
Points : 297
Milles excuses c'est vrai que les générics n'acceptent pas l'heritage et on ne peut pas faire de polymorphisme avec.

Snif.
Alec6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h43   #34
natha
Expert Confirmé
 
Avatar de natha
 
Inscription : janvier 2006
Messages : 2 344
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : janvier 2006
Messages : 2 344
Points : 2 861
Points : 2 861
Citation:
Envoyé par nicorama Voir le message
Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();
Ce code marche très bien aujourd'hui, en tout cas sur mon PC.... Que faut t-il changer ?
C'est parce que tu as désactivé les warnings checked/unchecked... alors évidemment...
__________________
Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
De la bonne manière de poser une question (et de répondre).
Je ne fais pas de service par MP. Merci (...de lire les règles...).
Ma page dvp.com
natha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 10h59   #35
xavlours
Membre Expert
 
Avatar de xavlours
 
Inscription : février 2004
Messages : 1 833
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 1 833
Points : 2 154
Points : 2 154
J'ai voté pour, mais j'ai peur que ça complique encore la prise en main des generics.
Citation:
Envoyé par bulbo Voir le message
Même si pour la compatibilité, l'autre écriture est bien nécessaire, je n'arrive pas a voir un cas ou cela aurait un intérêt.
Tu arriverais a nous filer un exemple ?
Code :
1
2
Map<String, ? extends Collection<? extends Image>> map;
map = new HashMap<String, Set<BufferedImage>>();
Il faut préciser le type de la Map, ce qui est normal, mais qui n'est pas évident à comprendre au début.

Mais je vote pour.
__________________
"Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.
xavlours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 11h02   #36
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 657
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 657
Points : 22 438
Points : 22 438
Citation:
Envoyé par nicorama Voir le message
Code :
1
2
Map<String, List<String>> 
  anagrams = new HashMap();
Ce code marche très bien aujourd'hui, en tout cas sur mon PC.... Que faut t-il changer ?
Citation:
Envoyé par natha Voir le message
C'est parce que tu as désactivé les warnings checked/unchecked... alors évidemment...
+1

Actuellement ce code génère un warning, qui est un peu inutile dans ce cas précis. Pourtant la solution de désactiver les warnings checked/unchecked n'en est pas une car il y a d'autre warning qu'il faut conserver car il révèle un problème réel.

Pour moi cette proposition est une correction d'une "erreur" des Generics de Java 5.0 qui aboutissent à une syntaxe inutilement lourde...



Citation:
Envoyé par Alec6 Voir le message
Milles excuses c'est vrai que les générics n'acceptent pas l'heritage et on ne peut pas faire de polymorphisme avec.
Oui on peut, mais pas comme cela :
Code :
Map<String,Vehicule> map = new HashMap<String,Camion>();
Cela ne marche pas car les types ne correspondent pas, et c'est logique car tu pourrais faire ceci :
Code :
map.put("Clio", new Voiture());
Tu ajoutes une voiture dans une liste de camion


En fait il faut faire ceci :
Code :
Map<String,? extends Vehicule> map = new HashMap<String,Camion>();
Et avec cette syntaxe certaine méthode te sont interdite car tu ne connais pas le type précis de Vehicule. ainsi tu ne peut pas faire de put() mais tu peux consulter les valeurs comme s'il s'agissait de Vehicule


a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 12h11   #37
jproto
Membre éclairé
 
Inscription : décembre 2005
Messages : 315
Détails du profil
Informations personnelles :
Âge : 36
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : décembre 2005
Messages : 315
Points : 300
Points : 300
Je vote pour, tant que la version actuelle continue d’être exploitable.
Dans certaines situations déjà citées, je la trouve plus claire.

Par contre, je dois partager le scepticisme de mes camarades vis-à-vis de l’utilité du <>.
Lorsque l’instanciation est directement rattachée à la déclaration, il n’y a pour moi pas de risque de méprise.
Lorsqu’elles sont séparées, je me rabattrai de toute façon sur la notation actuelle.
jproto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 13h58   #38
cysboy
Membre habitué
 
Avatar de cysboy
 
Développeur informatique
Inscription : août 2006
Messages : 221
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2006
Messages : 221
Points : 134
Points : 134
J' ai voté pour !
Citation:
agiGuba à écrit :
Oui pour moi : cela permet d'éviter une répétition inutile...

Bien sûr quoi qu'il arrive la première syntaxe sera toujours valide (rien que pour assurer la compatibilité ascendante).
Il a tout dit !
cysboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 17h42   #39
pierreact
Candidat au titre de Membre du Club
 
Inscription : novembre 2003
Messages : 20
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 20
Points : 14
Points : 14
Par défaut Pour

Je suis pour et souhaite aussi que les deux syntaxes restent disponible...
Si cela est _impossible_... (Pas de raison, mais...) J'accepte quand meme, vu que le generique et l'instance ne sont que repetition de toutes facons...
pierreact est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 18h16   #40
Uther
Expert Confirmé Sénior
 
Avatar de Uther
 
Homme
Inscription : avril 2002
Messages : 2 678
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 2 678
Points : 5 107
Points : 5 107
Je suis également pour et ne vois pas non plus l'interet du <>, vu que la généricité est seulement un sucre syntaxique.
Uther est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h29.


 
 
 
 
Partenaires

Hébergement Web