W książce Coders at work Joe Armstrong stwierdził, że:
Myślę, że brak możliwości ponownego użycia występuje w językach obiektowych, a nie w językach funkcjonalnych. Ponieważ problem z językami obiektowymi polega na tym, że mają one całe to ukryte środowisko, które ze sobą niosą. Chciałeś banana, ale dostałeś goryla trzymającego banana i całą dżunglę
Nie do końca to rozumiem. Jeśli problemem jest zdobycie banana, możemy zawrzeć całą logikę funkcji „getBanana”. Jak zaangażowane są małpy i dżungla w tym kontekście. Czy ktoś mógłby napisać fragment kodu wyjaśniający problem w łatwiejszy do zrozumienia sposób, powiedzmy, wykazujący fakt, że Banana
obiekt wymaga zainicjowania obiektów Monkey
i Jungle
?