LINUX.ORG.RU

История изменений

Исправление olegsov, (текущая версия) :

это просто принципиально другой стиль программирования.

интерфейсы нужны в жесткой ООП системе где на каждый чих что-нибудь наследуется и строго проверяются типы. питон ООП использует не для чистоты идеи, а для удобства.

по-моему в динамическом языке с утиными типами смысла в интерфейсах нет, т.к. интерфейсы нужны для проверки типов во время компиляции, а в динамическом языке ты просто дергаешь что хочешь без всяких проверок и ждешь пока глюк вылезет в рантайме. хотя может быть я что-то упустил.

аналогично и с приватными членами. по сути они нужны только когда автор библиотеки не доверяет пользователю этой библиотеки. то есть можно просто сказать - вот эти члены можешь дергать, остальные не трож, иначе пиняй на себя. то есть неформальный подход без лишних сущностей. если пользователь туп то он будет использовать остальное. но динамический язык по определению презрел всякие условности и защиты от дурака, ибо там любой объект может быть всем что угодно и программист должен заведомо знать что это, а значит он не считает себя дураком - иначе бы использовал жабу, а значит и защита от дурака не нужна.

Исходная версия olegsov, :

это просто принципиально другой стиль программирования.

интерфейсы нужны в жесткой ООП системе где на каждый чих что-нибудь наследуется и строго проверяются типы. питон ООП использует не для чистоты идеи, а для удобства.

по-моему в динамическом языке с утиными типами смысла в интерфейсах нет, т.к. интерфейсы нужны для проверки типов во время компиляции, а в динамическом языке ты просто дергаешь что хочешь без всяких проверок и ждешь пока глюк вылезет в рантайме. хотя может быть я что-то упустил.