• [^] # Re: Fin de la pureté de Java

    Posté par . En réponse à la dépêche Java 8 et NetBeans 8 sont disponibles. Évalué à 10.

    J'ai comme l'impression que c'est, pour des raisons pragmatiques, la fin de la pureté de Java comme langage orienté objet.

    Je pense que tu n'as aucune idee de comment sont implementées les lambdas dans Java 8.

    Les méthodes ne sont toujours pas des objets de premier ordre et les fonctions ne sont pas anonymes. Ce sont juste de interface fonctionelle (SAM). C'est juste du sucre syntaxique quoi avec un gros boulot dans la JVM pour que ca rame pas trop.

    Des interfaces où on peut mettre du code : c'est quoi cette horreur, et ça sert à quoi ? Évidemment que ça introduit un problème d'héritage en losange...

    Ca existe dans beaucoup d'autres langages ca se nomme un trait. En Java 8 tu as des traits stateless qui limites très fortement leur interet. Ca permet juste de pas péter des API quand tu as besoin de les faire évoluer.

    Les trait sont en général utiles pour introduire de la composition et faciliter la réutilisation. Ca peut introduire quelque probleme mais en general ca en resoud plus que ca en introduit.