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

Scala Java Discussion :

Quel avenir pour Scala depuis l'arrivée de Java 8, venez partager votre expérience


Sujet :

Scala Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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
    Salut,


    Je programme régulièrement en Java, et je n'ai pas vraiment de problème avec le type-erasure.
    Et surtout je n'ai jamais eu de problème de confusion sur le type d'une collection.


    Sinon il y a bien des avantages à utiliser le type-erasure :
    • C'est évolutif : il est possible de "générifié" une classe sans "casser" le code existant.
    • C'est compatible avec des langages qui ne possède pas de notion de Generics : ils peuvent quand même utiliser les types paramétrés sans paramétrages.
    • Cela permet une variance/covariance bien plus complète (malgré une syntaxe un peu lourde en Java - mais ceci n'est pas lié au type-erasure).
    • Une seule version du code est partagé par toutes les instances, ce qui implique moins de travail pour le compilateur JIT, et moins d'utilisation mémoire (car on n'a pas à stocker les duplications de classes).



    Tout ceci pour des désavantages plutôt anecdotique mais tellement décrié !!!



    Sinon coté performances je doute qu'il y ait une réelle différence avec la réification... tant qu'on reste sur des références (or les Generics de Java ne s'appliquent qu'aux références).
    Le gros intérêt de la réification vient de son utilisation avec les types primitifs/values !
    C'est là tout l'intérêt de la réification, car on peut alors s'adapter aux spécificités du types, et en particulier son empreinte mémoire.

    Et justement le projet Valhalla qui a pour but d'apporter des types-values dans Java prévoit d'intégrer des "Generic-reified"... mais uniquement pour les types primitifs/values.
    Car il y a peu d'intérêt pour les références !


    a++

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Adraor Voir le message
    Alors si il y a effectivement des avantages que l'on ne retrouve que dans les langage utilisant le type erasure je ne demande qu'a apprendre...

    Hum... Si encore la JVM était plus rapide que la CLR cela pourrait avoir du sens... type erasure n'a pas pour vocation d'améliorer les performances, et ne facilite pas forcément la traduction du langage en assembleur (bytecode).
    Et à mon avis, c'est d'autant plus condamnable pour un langage fortement typé tel que Java... ( et tout les rejetons de la JVM) de supprimer les types lors de la compilation.

    A l'époque où Java avait des vm pour des systèmes embarqués extrêmement petit, tout ce qui pouvait être éliminé du code de la vm ou du bytecode optimisé était bon à prendre
    (on pouvait faire tourner des benchmarks complets avec un vm consommant moins de 100Ko, il n'y a pas si longtemps... tant qu'on avait assez de mémoire pour gérer les données produites )
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Réponses: 18
    Dernier message: 28/01/2016, 14h34
  2. Réponses: 105
    Dernier message: 01/12/2015, 15h25
  3. Quel avenir pour le Framework.NET ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 139
    Dernier message: 16/07/2009, 18h06
  4. Quel avenir pour les informaticiens ?
    Par ghita269 dans le forum Emploi
    Réponses: 25
    Dernier message: 09/12/2005, 09h21
  5. Quel avenir pour les outils de génération de code ?
    Par Bruno75 dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 05/11/2003, 18h30

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