IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Etes vous pour ou contre cette proposition ?

Votants
368. Vous ne pouvez pas participer à ce sondage.
  • Pour

    280 76,09%
  • Contre

    88 23,91%
Langage Java Discussion :

JDK 7: Proposition 1 : Constructeurs simplifiés pour la généricité -> Intégrée [Débat]


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Coach Agile
    Inscrit en
    Décembre 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach Agile

    Informations forums :
    Inscription : Décembre 2005
    Messages : 316
    Par défaut
    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.

  2. #2
    Membre éclairé Avatar de cysboy
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 221
    Par défaut
    J' ai voté pour !
    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 !

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Pour.
    Pas de perte d'informations, pas d'ambiguités, bref que des atouts ...

  4. #4
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Pour, la plupart des raisons invoquées me semblant tout à fait valables. Regrettons quand même les <>, qui sont sans doute pas utiles (peut être pour la lecture, et encore).

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    CONTRE, parce que il est déjà possible, par l'inférence automatique, de supprimer complètement les répétitions.

    Ainsi, pour créer un HashMap on peut écrire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        HashMap<String, Integer> hash;
     
        hash = nouv();
    Avec, comme méthode nouv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      public static <A, B> HashMap<A, B> nouv()
      {
        return new HashMap<A, B>();
      }
    On voit que je ne répète nulle part <String, Integer>.

    Pour exploiter cette propriété il suffirait de rajouter des méthodes de création d'bbjets génériques adéquates dans le JDK, ce qui serait nettement plus léger, et mieux, à mon avis, que de changer la syntaxe.

    C'est ce que je fais déjà dans mon code, (ou à peu près), où, dans chaque classe générique que je fais, j'écris ma petite méthode statique nouv qui simplifie l'écriture.

  6. #6
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Bah tu dois t'amuser si tu codes une classe utilitaire ayant des méthodes pour tous les cas de création de Map, Set, List, et autres types utilisant les génériques. Ça alourdi le code et niveau maintenabilité c'est pas le top non plus.

  7. #7
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Bah non, son code est totalement adapté, pour n'importe quel typage de son HashMap il utilise la même fonction. Ya juste une fonction par type. Mais il ne fais plus 50 new, il n'en fait qu'un par fonction

    F.

  8. #8
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Oui, heu... je suis pas Sun, moi, je vais pas m'amuser à faire une méthode pour chaque cas de création...

    Au demeurant, il suffirait à Sun de les inclure dans chaque classe générique, ce qui me semble largement plus facile que de changer la syntaxe.

  9. #9
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par mavina Voir le message
    Bah non, son code est totalement adapté, pour n'importe quel typage de son HashMap il utilise la même fonction. Ya juste une fonction par type. Mais il ne fais plus 50 new, il n'en fait qu'un par fonction
    Oui merci, ça j'avais compris, j'utilise ce principe dans mon code. Ce que je veux dire c'est qu'il doit faire un new TreeMap, un new HashMap, un new HashSet, un new LinkedHashSet, etc...

  10. #10
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Certes, mais d'un autre coté tu utilises rarement toutes les collections existantes dans un programme, par contre tu en instancie souvent une poignée d'une même collection

    F.

  11. #11
    Invité
    Invité(e)
    Par défaut arrêtez de compliquer le langage!
    Bonjour

    Je ne veux pas que l'on rajoute des choses dans la syntaxe de Java. Ca va devenir aussi difficile à lire que du C++ tout ça pour faire plaisir à ceux qui voudraient que Java ressemble à C#. Que Java reste Java, je demande à Sun de corriger les bugs, et de les corriger même sous Linux! Je voudrais tout simplement que Java 1.7 soit plus stable et plus rapide encore. Un des principaux avantages de Java est la syntaxe simple. Tout ce que je vois là ne fait que compliquer la lecture pour un gain minime voire nul alors arrêtez ce massacre!

  12. #12
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,

    Citation Envoyé par gouessej Voir le message
    Bonjour

    Je ne veux pas que l'on rajoute des choses dans la syntaxe de Java. Ca va devenir aussi difficile à lire que du C++ tout ça pour faire plaisir à ceux qui voudraient que Java ressemble à C#. Que Java reste Java, je demande à Sun de corriger les bugs, et de les corriger même sous Linux! Je voudrais tout simplement que Java 1.7 soit plus stable et plus rapide encore. Un des principaux avantages de Java est la syntaxe simple. Tout ce que je vois là ne fait que compliquer la lecture pour un gain minime voire nul alors arrêtez ce massacre!

    Humm ... par ce que tu trouves que ça:
    Citation Envoyé par vbrabant Voir le message
    Aujourd'hui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Map<String, List<String>> 
      anagrams = new HashMap<String, List<String>>();
    Demain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Map<String, List<String>> 
      anagrams = new HashMap<>();

    ça complique le langage
    J'aurais pu comprendre parfaitement ton point de vue lors de l'introduction des Generics en Java (surtout les Wildcards), mais là, il s'agit de simplifier ça, à moins que tu ne te trompes de post

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    Pour, la verbosité parfois excessive étant à mon avis l'un des handicaps de java la suppression de syntaxe redondante me semble un pas dans la bonne direction.

  14. #14
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    C'est fait : cette proposition a été intégré dans Java 7 sous le nom de "diamond syntax".

    Pour la petit histoire il s'agit de la première modification du langage de Java 7


    Pour plus d'info : Première modification du langage : Diamond syntax

    a++

Discussions similaires

  1. JDK 7: Proposition 9 : Notation de tableau pour List et Map -> Intégrée
    Par vbrabant dans le forum Collection et Stream
    Réponses: 58
    Dernier message: 03/09/2009, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo