web-dev-qa-db-fra.com

Java: "Pollution en tas"

A " Pollution en tas " comme dans Types non réifiables (Les tutoriels Java ™> Apprendre le Java Langue> Génériques (mis à jour))

Pourquoi est-il appelé ainsi?

64
user18404

La pollution de tas implique simplement que vous avez des "mauvaises choses" dans votre tas. C'est une analogie avec (par exemple) la pollution de l'eau qui est l'endroit où vous avez "de mauvaises choses" dans l'eau.

Plus précisément, les mauvaises choses ici sont des objets de type A où vous devriez avoir des objets de type B ... selon le typage statique. Un trou dans le typage statique permet aux éléments malveillants de fuir dans le tas ... où ils sont susceptibles de causer des dommages (par exemple, ClassCastExceptions) inattendus lors de l'exécution.

Ce n'est pas une analogie particulièrement bonne, mais c'est la terminologie que les gens Java ont inventé ... et ils l'ont (en fait) définie dans la page à laquelle vous avez lié, et probablement dans d'autres des endroits.


Mais encore - il devrait y avoir un motif/dispositif mnémonique derrière ce nom.

Pourquoi devrait-il y en avoir? Il y a beaucoup de mots et d'expressions utilisés en anglais où personne ne connaît vraiment l'origine ou le raisonnement. Ou où l'origine est connue, mais illogique. Par exemple, l'origine supposée du terme " bug " faisant référence à une faille dans un programme informatique. Ou la signification actuelle du terme "saut quantique" dans la culture populaire. Ou le mot "gay".

(Mais, dans le cas de la "pollution en tas", la source >> est << connue, et le raisonnement derrière le choix du terme >> est << évident ... pour les personnes du même milieu linguistique et culturel que les auteurs.)

C'est drôle mais même google ne semble pas savoir pourquoi.

Pas vraiment. Cela signifie simplement que personne n'avait auparavant pensé à demander une définition dans un endroit indexé par Google. 1) L'utilisation est limitée à la Java programmation AFAIK, et 2) l'analogie est évidente ... pour la plupart des gens qui utiliseraient le terme.

8 ans plus tard, c'est toujours la seule page qui tente de répondre à la question "pourquoi". Je suppose que "cela va de soi" le couvre adéquatement :-)

76
Stephen C