История изменений
Исправление Nervous, (текущая версия) :
Почему намертво приколоченными? В CLOS методы можно описывать отдельно.
CLOS немного лучше, чем его более популярные собратья, да. Хотя от попыток разобраться в каше из :before
, :after
и :around
и как они в каждом конкретном случае сочетаются, наверное, недолго и кукухой поехать %) Сделали из простых полиморфных функций какого-то франкенштейна, my ass.
иерархия нужна, чтобы наследника можно было передать в любое место, где ожидают предка
Зачем? Любое значение, для типа которого реализован протокол (интерфейс), можно передать в любое место, которое ожидает этот интерфейс/протокол (использует только его функции/методы для работы с этим значением). На кой хрен тут ещё какое-то наследование?
По крайней мере, в общем случае. Для случаев, когда это реально удобно и полезно, можно и небольшую ad-hoc иерархию замутить, да — но зачем навязывать её всем подряд?
Исправление Nervous, :
Почему намертво приколоченными? В CLOS методы можно описывать отдельно.
CLOS немного лучше, чем его более популярные собратья, да. Хотя от попыток разобраться в каше из :before
, :after
и :around
и как они в каждом конкретном случае сочетаются, наверное, недолго и кукухой поехать %) Сделали из простых полиморфных функций какого-то франкенштейна, my ass.
иерархия нужна, чтобы наследника можно было передать в любое место, где ожидают предка
Зачем? Любое значение, для типа которого реализован протокол (интерфейс), можно передать в любое место, которое ожидает этот интерфейс/протокол. На кой хрен тут ещё какое-то наследование?
По крайней мере, в общем случае. Для случаев, когда это реально удобно и полезно, можно и небольшую ad-hoc иерархию замутить, да — но зачем навязывать её всем подряд?
Исходная версия Nervous, :
Почему намертво приколоченными? В CLOS методы можно описывать отдельно.
CLOS немного лучше, чем его более популярные собратья, да. Хотя от попыток разобраться в каше из :before
, :after
и :around
и как они в каждом конкретном случае сочетаются, наверное, недолго и кукухой поехать %)
иерархия нужна, чтобы наследника можно было передать в любое место, где ожидают предка
Зачем? Любое значение, для типа которого реализован протокол (интерфейс), можно передать в любое место, которое ожидает этот интерфейс/протокол. На кой хрен тут ещё какое-то наследование?
По крайней мере, в общем случае. Для случаев, когда это реально удобно и полезно, можно и небольшую ad-hoc иерархию замутить, да — но зачем навязывать её всем подряд?