• [^] # Re: Inférence de types

    Posté par . En réponse à la dépêche Sortie de JDK 10. Évalué à 8.

    He ben dites donc...

    Alors ce qu'est var en java. Ce n'est pas de l'inférence de type. Ils ont appelé ça comme ça parce que ça fait cool et parce que d'autres langages l'appellent aussi comme ça, mais ça n'en est pas. Quand on parle d'inférence de type locale, ça veut juste dire qu'on a ajouté du sucre syntaxique à ton langage rien de plus. Je suis pas allé voir comment ils ont implémenté ça, mais une inférence de type locale, c'est presque un contre sens tellement ça ne sert à rien comparé à ce à quoi sert l'inférence de type (la vraie).

    Tout ça pour dire que cette évolution ne touche strictement rien à la sémantique de java. Donc les comparaisons avec js (qui n'a aucune inférence de type, ça ne sert à rien avec un typage faible) ou Ocaml (c'est sacrément utile quand on manipule des types algébriques) n'ont pas un grand intérêt. Pour vous dire c'est tellement faible comme fonctionnalité que vous pouvez déjà l'utiliser avec des versions plus vielles de java et lombok.

    Reste que oui ça peut faire débat et Java 10 étant sorti il y a un certain temps, vous inquiétez pas la communauté a déjà trollé gras dessus. Ça a conduit la création de guidelines par OpenJDK. Vous avez une explication plus simple et en français ici : https://java.developpez.com/actu/196738/Bonnes-pratiques-pour-l-usage-du-mot-cle-var-introduit-dans-Java-10-un-billet-de-blog-de-Fabrice-Bouye/