История изменений
Исправление Nervous, (текущая версия) :
В Clojure кривые мультиметоды, слабенькие. Не CLOS, конечно.
Мультиметоды как раз нормальные — максимально простые, общие и гибкие (диспетчеризация по произвольной функции от всех аргументов), без лишнего овна, как в CLOS — что там наворотили, это же смотреть страшно, не то, что пользоваться.
То, что делает из обобщённых функций CL хтоническую хрень, в Clojure вынесено отдельно — в протоколы и нативный жабий ООП. Для тех, кто хочет немного побыстрее и согласен на урезанную функциональность (и не боится ковыряться в овне, конечно — если речь про жабий ООП).
Design is taking things apart (tm).
Исправление Nervous, :
В Clojure кривые мультиметоды, слабенькие. Не CLOS, конечно.
Мультиметоды как раз нормальные, максимально общие и гибкие (диспетчеризация по произвольной функции от всех аргументов), без лишнего овна, как в CLOS — что там наворотили, это же смотреть страшно, не то, что пользоваться.
То, что делает из обобщённых функций CL хтоническую хрень, в Clojure вынесено отдельно — в протоколы и нативный жабий ООП. Для тех, кто хочет немного побыстрее и согласен на урезанную функциональность (и не боится ковыряться в овне, конечно — если речь про жабий ООП).
Design is taking things apart (tm).
Исправление Nervous, :
В Clojure кривые мультиметоды, слабенькие. Не CLOS, конечно.
Мультиметоды как раз нормальные, максимально общие и гибкие (диспетчеризация по произвольной функции от всех аргументов), без лишнего овна, как в CLOS — что там наворотили, это же смотреть страшно, не то, что пользоваться.
То, что делает из обобщённых функций CL хтоническую хрень, в Clojure вынесено отдельно — в протоколы и нативный жабий ООП. Для тех, кто хочет немного побыстрее и согласен на урезанную функциональность (и не боится ковыряться в овне, конечно — если речь про жабий ООП).
Исходная версия Nervous, :
В Clojure кривые мультиметоды, слабенькие. Не CLOS, конечно.
Мультиметоды как раз нормальные, максимально общие и гибкие (диспетчеризация по произвольной функции от всех аргументов), без лишнего овна, как в CLOS — что там наворотили, это же смотреть страшно, не то, что пользоваться.
То, что в CLOS делает из обобщённых функций хтоническую хрень, в Clojure вынесено отдельно — в протоколы и нативный жабий ООП. Для тех, кто хочет немного побыстрее и согласен на урезанную функциональность (и не боится ковыряться в овне, конечно — если речь про жабий ООП).