Dans le livre Coders at work, Joe Armstrong a déclaré que:
Je pense que le manque de réutilisabilité vient dans les langages orientés objet, pas dans les langages fonctionnels. Parce que le problème avec les langages orientés objet, c'est qu'ils ont tout cet environnement implicite qu'ils emportent avec eux. Vous vouliez une banane mais ce que vous avez obtenu était un gorille tenant la banane et toute la jungle
Je ne comprends pas tout à fait ici. Si le problème est d'obtenir une banane, nous pouvons encapsuler toute la logique derrière la fonction 'getBanana'. Comment le singe et la jungle sont-ils impliqués dans ce contexte? Quelqu'un pourrait-il écrire un extrait de code qui explique le problème d'une manière plus facile à comprendre, par exemple, démontrer le fait que l' Banana
objet nécessite l' initialisation des objets Monkey
et Jungle
, s'il vous plaît?