Существует бесконечная серия анекдотов о том, как выстрелить себе в ногу, используя определенный язык программирования. Вот способы для Python и Java:
Python: вы создаете модуль пистолета и класс пистолета, модуль и класс ноги. Поняв, что вы не можете направить пистолет на ногу, объекту ноги передаете ссылку на пистолет. После того, как нога взорвана, объект пистолета остается в живых навечно и готов стрелять во все ноги на своем пути
Java: вы обнаруживаете, что Microsoft и Sun выпустили несовместимые библиотеки классов, реализующие объекты Gun. Затем вы обнаружите, что, несмотря на то, что во многих языках давным-давно реализован объект ноги, вы не можете получить доступ к нему. Но, потому как Вы знаете, что Java супер-язык вам все равно, вы ходите и стреляете во все, что попадается на пути
-Марк Хаммонд